summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/COFFObjectFile.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-08-11 22:02:44 +0000
committerRui Ueyama <ruiu@google.com>2016-08-11 22:02:44 +0000
commit8950a53821d1b76ced7cb8cc0baf6e6292c77406 (patch)
tree8506e4a4e8d2972bd52ff9f51cdc76daf250e0e5 /llvm/lib/Object/COFFObjectFile.cpp
parent8e0c53a018feae745c24f7898367088903f8dd3d (diff)
downloadbcm5719-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.cpp4
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;
OpenPOWER on IntegriCloud