From ed5628c9fc774d14cdb7771edcf9dadb2b8ddf8d Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Mon, 7 Aug 2017 21:23:38 +0000 Subject: [PATCH] [Object] Initialize LoadConfig member to null Executables may not contain a load config, and clients should be able to test for nullability. Previously we'd return uninitialized memory. Now getLoadConfig32/64 return valid pointers or null. Fixes PR34108 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310308 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Object/COFF.h | 2 +- .../llvm-readobj/Inputs/coff-no-load-config.exe | Bin 0 -> 1024 bytes test/tools/llvm-readobj/coff-load-config.test | 5 +++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 test/tools/llvm-readobj/Inputs/coff-no-load-config.exe diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h index 89c1ba6be35..fa5785562b7 100644 --- a/include/llvm/Object/COFF.h +++ b/include/llvm/Object/COFF.h @@ -753,7 +753,7 @@ private: const debug_directory *DebugDirectoryBegin; const debug_directory *DebugDirectoryEnd; // Either coff_load_configuration32 or coff_load_configuration64. - const void *LoadConfig; + const void *LoadConfig = nullptr; std::error_code getString(uint32_t offset, StringRef &Res) const; diff --git a/test/tools/llvm-readobj/Inputs/coff-no-load-config.exe b/test/tools/llvm-readobj/Inputs/coff-no-load-config.exe new file mode 100644 index 0000000000000000000000000000000000000000..cd6eb5a2b2b5e36f7c11fb8d4c2ef08a6ffae00f GIT binary patch literal 1024 zcmeZ`V!#R(K