[llvm] d8472ac - [JITLink][ELF] Check that ELF buffer has at least ELF::EI_NIDENT bytes.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 17 11:42:32 PDT 2023


Author: Lang Hames
Date: 2023-04-17T11:42:27-07:00
New Revision: d8472ac238dfd2f3bae61a56903de5ef5df6360a

URL: https://github.com/llvm/llvm-project/commit/d8472ac238dfd2f3bae61a56903de5ef5df6360a
DIFF: https://github.com/llvm/llvm-project/commit/d8472ac238dfd2f3bae61a56903de5ef5df6360a.diff

LOG: [JITLink][ELF] Check that ELF buffer has at least ELF::EI_NIDENT bytes.

This allows the subsequent code to access the E_IDENT fields, which will be
used in the upcoming JITLink ppc64 backend (https://reviews.llvm.org/D148192).

Added: 
    

Modified: 
    llvm/lib/ExecutionEngine/JITLink/ELF.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/ExecutionEngine/JITLink/ELF.cpp b/llvm/lib/ExecutionEngine/JITLink/ELF.cpp
index 340a0ce134475..e35f8a3d8a2a4 100644
--- a/llvm/lib/ExecutionEngine/JITLink/ELF.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/ELF.cpp
@@ -57,7 +57,7 @@ Expected<uint16_t> readTargetMachineArch(StringRef Buffer) {
 Expected<std::unique_ptr<LinkGraph>>
 createLinkGraphFromELFObject(MemoryBufferRef ObjectBuffer) {
   StringRef Buffer = ObjectBuffer.getBuffer();
-  if (Buffer.size() < ELF::EI_MAG3 + 1)
+  if (Buffer.size() < ELF::EI_NIDENT)
     return make_error<JITLinkError>("Truncated ELF buffer");
 
   if (memcmp(Buffer.data(), ELF::ElfMagic, strlen(ELF::ElfMagic)) != 0)


        


More information about the llvm-commits mailing list