[all-commits] [llvm/llvm-project] 3c8664: [Bitstream] Reject implausibly large reservations

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Feb 7 03:16:28 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3c86642edd28f1ce970882edaba8dce468ec7401
      https://github.com/llvm/llvm-project/commit/3c86642edd28f1ce970882edaba8dce468ec7401
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Bitstream/BitstreamReader.h
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    A llvm/test/Bitcode/Inputs/size-not-plausible.bc
    M llvm/test/Bitcode/invalid.test

  Log Message:
  -----------
  [Bitstream] Reject implausibly large reservations

If we're trying to reserve more memory than bits in the stream,
reject this early to avoid OOM.


  Commit: 89017772d9a7dc66398227fe23a9f8a1f5fabda3
      https://github.com/llvm/llvm-project/commit/89017772d9a7dc66398227fe23a9f8a1f5fabda3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    A llvm/test/Bitcode/Inputs/invalid-attribute-group-entry.bc
    M llvm/test/Bitcode/invalid.test

  Log Message:
  -----------
  [Bitcode] Don't assert on invalid attribute group record

Report an error instead.


  Commit: ec18030f5fc1f4a08326e65fe06c6f265a829f4c
      https://github.com/llvm/llvm-project/commit/ec18030f5fc1f4a08326e65fe06c6f265a829f4c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    M llvm/test/Bitcode/invalid.test

  Log Message:
  -----------
  [Bitstream] Check that there is enough space for blob

Instead of simply assuming that it will be zero. I double checked
that the bitstream reader doesn't have any special handling for
all-zero blobs, it will always write out the full contents.


  Commit: 0c553bff8e76ebfbf9cd4e94ff565018ed1ff0c1
      https://github.com/llvm/llvm-project/commit/0c553bff8e76ebfbf9cd4e94ff565018ed1ff0c1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    A llvm/test/Bitcode/Inputs/invalid-value-symbol-table.bc
    M llvm/test/Bitcode/invalid.test

  Log Message:
  -----------
  [Bitcode] Guard against out of bounds value reference

We should make sure that the value ID is in bounds, otherwise
we will assert / read out of bounds.


Compare: https://github.com/llvm/llvm-project/compare/b8804557686f...0c553bff8e76


More information about the All-commits mailing list