mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
[Object] Return an error code instead of asserting
This makes it easier to report errors up the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271140 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d0404d3057
commit
ddd4585661
@ -950,10 +950,10 @@ uint64_t COFFObjectFile::getSectionSize(const coff_section *Sec) const {
|
||||
std::error_code
|
||||
COFFObjectFile::getSectionContents(const coff_section *Sec,
|
||||
ArrayRef<uint8_t> &Res) const {
|
||||
// PointerToRawData and SizeOfRawData won't make sense for BSS sections,
|
||||
// don't do anything interesting for them.
|
||||
assert((Sec->Characteristics & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA) == 0 &&
|
||||
"BSS sections don't have contents!");
|
||||
// In COFF, a virtual section won't have any in-file
|
||||
// content, so the file pointer to the content will be zero.
|
||||
if (Sec->PointerToRawData == 0)
|
||||
return object_error::parse_failed;
|
||||
// The only thing that we need to verify is that the contents is contained
|
||||
// within the file bounds. We don't need to make sure it doesn't cover other
|
||||
// data, as there's nothing that says that is not allowed.
|
||||
|
Loading…
Reference in New Issue
Block a user