mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-23 11:38:38 +00:00
[bitcode reader] Fix an assert on invalid type tables
Bug found with afl-fuzz git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227566 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e21839b377
commit
8cf149dbad
@ -1095,8 +1095,10 @@ std::error_code BitcodeReader::ParseTypeTableBody() {
|
|||||||
|
|
||||||
if (NumRecords >= TypeList.size())
|
if (NumRecords >= TypeList.size())
|
||||||
return Error("Invalid TYPE table");
|
return Error("Invalid TYPE table");
|
||||||
|
if (TypeList[NumRecords])
|
||||||
|
return Error(
|
||||||
|
"Invalid TYPE table: Only named structs can be forward referenced");
|
||||||
assert(ResultTy && "Didn't read a type?");
|
assert(ResultTy && "Didn't read a type?");
|
||||||
assert(!TypeList[NumRecords] && "Already read type?");
|
|
||||||
TypeList[NumRecords++] = ResultTy;
|
TypeList[NumRecords++] = ResultTy;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
test/Bitcode/Inputs/invalid-type-table-forward-ref.bc
Normal file
BIN
test/Bitcode/Inputs/invalid-type-table-forward-ref.bc
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user