forked from OSchip/llvm-project
[SymbolDumper] Validate the string table offset before using it
llvm-svn: 271142
This commit is contained in:
parent
0042e20996
commit
b343310b4f
|
@ -610,11 +610,12 @@ void CVSymbolDumperImpl::visitDefRangeSym(SymbolKind Kind,
|
|||
|
||||
if (ObjDelegate) {
|
||||
StringRef StringTable = ObjDelegate->getStringTable();
|
||||
if (!StringTable.empty()) {
|
||||
W.printString(
|
||||
"Program",
|
||||
StringTable.drop_front(DefRange.Header.Program).split('\0').first);
|
||||
}
|
||||
auto ProgramStringTableOffset = DefRange.Header.Program;
|
||||
if (ProgramStringTableOffset >= StringTable.size())
|
||||
return parseError();
|
||||
StringRef Program =
|
||||
StringTable.drop_front(ProgramStringTableOffset).split('\0').first;
|
||||
W.printString("Program", Program);
|
||||
}
|
||||
printLocalVariableAddrRange(DefRange.Header.Range,
|
||||
DefRange.getRelocationOffset());
|
||||
|
|
Loading…
Reference in New Issue