summaryrefslogtreecommitdiff
path: root/spec/ruby/security/cve_2018_8778_spec.rb
blob: a264a8581e8006c57e54bf61ba42f2c51f7f79c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
    lambda {
      "0123456789".unpack("@#{pos}C10")
    }.should raise_error(RangeError, /pack length too big/)
  end

end