summaryrefslogtreecommitdiff
path: root/spec/ruby/security/cve_2018_8778_spec.rb
blob: 62057faa53447e659467db6cb103c2064290e24a (plain)
1
2
3
4
5
6
7
8
9
10
require_relative '../spec_helper'

describe "String#unpack" do
  it "resists CVE-2018-8778 by raising an exception when a position indicator is larger than a native integer" do
    pos = (1 << PlatformGuard::POINTER_SIZE) - 99
    -> {
      "0123456789".unpack("@#{pos}C10")
    }.should raise_error(RangeError, /pack length too big/)
  end
end