forked from OSchip/llvm-project
[BitcodeReader] Change an assert to a call to a call to Error()
It's reachable from user input. Bug found with AFL fuzz. llvm-svn: 238633
This commit is contained in:
parent
b82e33106b
commit
14e686774d
|
@ -1634,9 +1634,9 @@ std::error_code BitcodeReader::ParseMetadata() {
|
|||
Record.clear();
|
||||
Code = Stream.ReadCode();
|
||||
|
||||
// METADATA_NAME is always followed by METADATA_NAMED_NODE.
|
||||
unsigned NextBitCode = Stream.readRecord(Code, Record);
|
||||
assert(NextBitCode == bitc::METADATA_NAMED_NODE); (void)NextBitCode;
|
||||
if (NextBitCode != bitc::METADATA_NAMED_NODE)
|
||||
return Error("METADATA_NAME not followed by METADATA_NAMED_NODE");
|
||||
|
||||
// Read named metadata elements.
|
||||
unsigned Size = Record.size();
|
||||
|
|
Binary file not shown.
|
@ -187,3 +187,8 @@ RUN: not llvm-dis -disable-output %p/Inputs/invalid-array-operand-encoding.bc 2>
|
|||
RUN: FileCheck --check-prefix=ARRAY-OP-ENC %s
|
||||
|
||||
ARRAY-OP-ENC: Array element type has to be an encoding of a type
|
||||
|
||||
RUN: not llvm-dis -disable-output %p/Inputs/invalid-metadata-not-followed-named-node.bc 2>&1 | \
|
||||
RUN: FileCheck --check-prefix=META-NOT-FOLLOWED-BY-NAMED-META %s
|
||||
|
||||
META-NOT-FOLLOWED-BY-NAMED-META: METADATA_NAME not followed by METADATA_NAMED_NODE
|
||||
|
|
Loading…
Reference in New Issue