forked from OSchip/llvm-project
Fix edge case when Start overflowed in 32 bit mode
llvm-svn: 226229
This commit is contained in:
parent
13023a1af6
commit
c552c9abce
|
@ -336,8 +336,9 @@ std::error_code MachOObjectFile::getSymbolName(DataRefImpl Symb,
|
|||
StringRef StringTable = getStringTableData();
|
||||
MachO::nlist_base Entry = getSymbolTableEntryBase(this, Symb);
|
||||
const char *Start = &StringTable.data()[Entry.n_strx];
|
||||
if (Start >= getData().end())
|
||||
report_fatal_error("Symbol name entry points past end of file.");
|
||||
if (Start < getData().begin() || Start >= getData().end())
|
||||
report_fatal_error(
|
||||
"Symbol name entry points before beginning or past end of file.");
|
||||
Res = StringRef(Start);
|
||||
return object_error::success;
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ SMALL-SEGLOADC-SIZE: Segment load command size is too small
|
|||
INCOMPLETE-LOADC: Malformed MachO file
|
||||
TOO-MANY-SECTS: Number of sections too large for size of load command
|
||||
BAD-SYMBOL: Requested symbol index is out of range
|
||||
NAME-PAST-EOF: Symbol name entry points past end of file
|
||||
NAME-PAST-EOF: Symbol name entry points before beginning or past end of file
|
||||
|
||||
INVALID-SECTION-IDX-SEG-NAME: getSectionRawFinalSegmentName: Invalid section index
|
||||
INVALID-SECTION-IDX-SECT-NAME: getSectionRawName: Invalid section index
|
||||
|
|
Loading…
Reference in New Issue