[llvm] [BitcodeReader] Add bounds checking on Strtab (PR #76403)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 26 13:17:12 PST 2023


================
@@ -4218,6 +4218,10 @@ Error BitcodeReader::parseGlobalIndirectSymbolRecord(
 
   // Check whether we have enough values to read a partition name.
   if (OpNum + 1 < Record.size()) {
+    // Check Strtab has enough values for the partition.
+    if (Record[OpNum] + Record[OpNum + 1] > Strtab.size()) {
+      return error("Malformed partition, too large.");
+    }
----------------
nikic wrote:

```suggestion
    // Check Strtab has enough values for the partition.
    if (Record[OpNum] + Record[OpNum + 1] > Strtab.size())
      return error("Malformed partition, too large");
```

https://github.com/llvm/llvm-project/pull/76403


More information about the llvm-commits mailing list