[PATCH] D25229: [ELF] - Do not hang if broken object has option descriptor in .MIPS.options with size of zero.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 03:32:10 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL283208: [ELF] - Do not hang if broken object has option descriptor in .MIPS.options… (authored by grimar).

Changed prior to commit:
  https://reviews.llvm.org/D25229?vs=73441&id=73444#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D25229

Files:
  lld/trunk/ELF/InputSection.cpp
  lld/trunk/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf
  lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s


Index: lld/trunk/ELF/InputSection.cpp
===================================================================
--- lld/trunk/ELF/InputSection.cpp
+++ lld/trunk/ELF/InputSection.cpp
@@ -694,6 +694,8 @@
         error(getName(this) + ": unsupported non-zero ri_gp_value");
       break;
     }
+    if (!O->size)
+      fatal(getName(this) + ": zero option descriptor size");
     D = D.slice(O->size);
   }
 }
Index: lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s
===================================================================
--- lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s
+++ lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s
@@ -0,0 +1,5 @@
+## mips-invalid-options-descriptor.elf has option descriptor in 
+## .MIPS.options with size of zero.
+# RUN: not ld.lld %p/Inputs/mips-invalid-options-descriptor.elf -o %t2 2>&1 | \
+# RUN:   FileCheck %s
+# CHECK: zero option descriptor size


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25229.73444.patch
Type: text/x-patch
Size: 931 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161004/13d4413a/attachment.bin>


More information about the llvm-commits mailing list