diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-14 16:38:25 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-14 16:38:25 +0000 |
commit | 13a3f6914b137248ac75e460419e70ef090b0f87 (patch) | |
tree | 41771380e54d0b067a4b8910461f4e98a53ded7c | |
parent | da4e650e5c14432fee19d37d0cccfbe6668e6b0a (diff) | |
download | bcm5719-llvm-13a3f6914b137248ac75e460419e70ef090b0f87.tar.gz bcm5719-llvm-13a3f6914b137248ac75e460419e70ef090b0f87.zip |
tools: fix heap-buffer-overrun detected via ASAN
Once the auxiliary fields relating to the filename have been inspected, any
following auxiliary fields need not be visited as they have been consumed (the
following fields comprise the filepath as a single unit).
Adjust the test to catch this even if ASAN is not enabled.
llvm-svn: 206190
-rw-r--r-- | llvm/test/tools/llvm-objdump/coff-file.test | 1 | ||||
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/coff-file.test b/llvm/test/tools/llvm-objdump/coff-file.test index ba345b4d426..75d02b8a495 100644 --- a/llvm/test/tools/llvm-objdump/coff-file.test +++ b/llvm/test/tools/llvm-objdump/coff-file.test @@ -2,4 +2,5 @@ RUN: llvm-objdump -t %p/Inputs/file.obj.coff-arm | FileCheck %s CHECK: .file CHECK-NEXT: AUX /Users/compnerd/work/llvm/test/tools/llvm-readobj/Inputs/file.asm +CHECK-NEXT: [{{[ 0-9]+}}] diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index aff83f0cbd1..42c61c6386d 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -708,6 +708,9 @@ static void PrintCOFFSymbolTable(const COFFObjectFile *coff) { StringRef Name(AF->FileName, Symbol->NumberOfAuxSymbols * COFF::SymbolSize); outs() << "AUX " << Name.rtrim(StringRef("\0", 1)) << '\n'; + + SI = SI + Symbol->NumberOfAuxSymbols; + break; } else { outs() << "AUX Unknown\n"; } |