From 8950a53821d1b76ced7cb8cc0baf6e6292c77406 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Thu, 11 Aug 2016 22:02:44 +0000 Subject: [PATCH] Re-commit r278066: Do not ignore SizeOfOptionalHeader in COFF header even if PE header is not present. llvm-svn: 278429 --- llvm/lib/Object/COFFObjectFile.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index a43eca6..a9a8107 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; -- 2.7.4