[Bitcode] Prevent OOB read for invalid name size
This commit is contained in:
@@ -3243,6 +3243,8 @@ Error BitcodeReader::parseComdatRecord(ArrayRef<uint64_t> Record) {
|
||||
if (Record.size() < 2)
|
||||
return error("Invalid record");
|
||||
unsigned ComdatNameSize = Record[1];
|
||||
if (ComdatNameSize > Record.size() - 2)
|
||||
return error("Comdat name size too large");
|
||||
OldFormatName.reserve(ComdatNameSize);
|
||||
for (unsigned i = 0; i != ComdatNameSize; ++i)
|
||||
OldFormatName += (char)Record[2 + i];
|
||||
|
||||
Reference in New Issue
Block a user