forked from OSchip/llvm-project
[bitcode reader] Fix an assert on invalid type tables
Bug found with afl-fuzz llvm-svn: 227566
This commit is contained in:
parent
cc6e894587
commit
d0858e1037
|
@ -1095,8 +1095,10 @@ std::error_code BitcodeReader::ParseTypeTableBody() {
|
|||
|
||||
if (NumRecords >= TypeList.size())
|
||||
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(!TypeList[NumRecords] && "Already read type?");
|
||||
TypeList[NumRecords++] = ResultTy;
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue