summaryrefslogtreecommitdiff
path: root/spec/ruby/security/cve_2018_8778_spec.rb
blob: 628159a4db4d35fd3ee586633698f0d27650f1a0 (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
    -> {
      "0123456789".unpack("@#{pos}C10")
    }.should raise_error(RangeError, /pack length too big/)
  end

end