diff options
author | Rui Ueyama <ruiu@google.com> | 2016-08-11 22:02:44 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2016-08-11 22:02:44 +0000 |
commit | 8950a53821d1b76ced7cb8cc0baf6e6292c77406 (patch) | |
tree | 8506e4a4e8d2972bd52ff9f51cdc76daf250e0e5 /llvm/lib/Object/COFFObjectFile.cpp | |
parent | 8e0c53a018feae745c24f7898367088903f8dd3d (diff) | |
download | bcm5719-llvm-8950a53821d1b76ced7cb8cc0baf6e6292c77406.tar.gz bcm5719-llvm-8950a53821d1b76ced7cb8cc0baf6e6292c77406.zip |
Re-commit r278066: Do not ignore SizeOfOptionalHeader in COFF header even if PE header is not present.
llvm-svn: 278429
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index a43eca6f976..a9a8107a753 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -718,9 +718,11 @@ COFFObjectFile::COFFObjectFile(MemoryBufferRef Object, std::error_code &EC) } if ((EC = getObject(DataDirectory, Data, DataDirAddr, DataDirSize))) return; - CurPtr += COFFHeader->SizeOfOptionalHeader; } + if (COFFHeader) + CurPtr += COFFHeader->SizeOfOptionalHeader; + if ((EC = getObject(SectionTable, Data, base() + CurPtr, (uint64_t)getNumberOfSections() * sizeof(coff_section)))) return; |