[PATCH] [Object] Don't crash on empty export lists.
Juergen Ributzka
juergen at apple.com
Thu Dec 18 18:31:50 PST 2014
REPOSITORY
rL LLVM
http://reviews.llvm.org/D6732
Files:
llvm/trunk/lib/Object/MachOObjectFile.cpp
llvm/trunk/test/Object/Inputs/macho-no-exports.dylib
llvm/trunk/test/Object/objdump-export-list.test
Index: llvm/trunk/test/Object/objdump-export-list.test
===================================================================
--- llvm/trunk/test/Object/objdump-export-list.test
+++ llvm/trunk/test/Object/objdump-export-list.test
@@ -0,0 +1,4 @@
+RUN: llvm-objdump -exports-trie %p/Inputs/macho-no-exports.dylib | FileCheck %s
+
+; Test that we don't crash with an empty export list.
+CHECK: macho-no-exports.dylib: file format Mach-O 64-bit x86-64
Index: llvm/trunk/lib/Object/MachOObjectFile.cpp
===================================================================
--- llvm/trunk/lib/Object/MachOObjectFile.cpp
+++ llvm/trunk/lib/Object/MachOObjectFile.cpp
@@ -1640,7 +1640,10 @@
iterator_range<export_iterator>
MachOObjectFile::exports(ArrayRef<uint8_t> Trie) {
ExportEntry Start(Trie);
- Start.moveToFirst();
+ if (Trie.size() == 0)
+ Start.moveToEnd();
+ else
+ Start.moveToFirst();
ExportEntry Finish(Trie);
Finish.moveToEnd();
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6732.17477.patch
Type: text/x-patch
Size: 953 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141219/6597bbd4/attachment.bin>
More information about the llvm-commits
mailing list