bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/21409] New: objdump segfault - null pointer dereferencing


From: dungnguy at comp dot nus.edu.sg
Subject: [Bug binutils/21409] New: objdump segfault - null pointer dereferencing
Date: Sat, 22 Apr 2017 04:17:59 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=21409

            Bug ID: 21409
           Summary: objdump segfault - null pointer dereferencing
           Product: binutils
           Version: 2.28
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: dungnguy at comp dot nus.edu.sg
  Target Milestone: ---

Created attachment 10006
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10006&action=edit
Crashing input

Dear All,

This bug was found with AFLGo, a directed version of AFL/AFLFast. Thanks also
to Marcel Böhme and Van-Thuan Pham.

This bug was found on Ubuntu 14.04 64-bit & binutils was checked out from main
repository at git://sourceware.org/git/binutils-gdb.git. Its commit is
a6c21d4a553de184562fd8409a5bcd3f2cc2561a (Wed Apr 19 13:16:05 2017).

binutils was built with ASAN using gcc-6.2 and clang-3.4. The configure command
was:

CC=clang CFLAGS="-DFORTIFY_SOURCE=2 -fstack-protector-all
-fsanitize=undefined,address -fno-omit-frame-pointer -g -Wno-error"
../configure --disable-shared --disable-gdb --disable-libdecnumber
--disable-readline --disable-sim

To reproduce:
Download the attached file - bug_7
objdump -SD bug_7

ASAN says:
==148394==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc
0x0000010f21d7 bp 0x7ffe42ecf670 sp 0x7ffe42ece6c0 T0)
    #0 0x10f21d6 in _bfd_dwarf2_find_nearest_line
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/bfd/../../bfd/dwarf2.c:4212:9
    #1 0xd095d9 in _bfd_elf_find_nearest_line
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/bfd/../../bfd/elf.c:8642:7
    #2 0x511d79 in show_line
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:1486:9
    #3 0x506b94 in disassemble_bytes
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:1791:6
    #4 0x4f6b0a in disassemble_section
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:2304:7
    #5 0x9e4315 in bfd_map_over_sections
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/bfd/../../bfd/section.c:1395:5
    #6 0x4e4f50 in disassemble_data
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:2438:3
    #7 0x4d76be in dump_bfd
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:3532:5
    #8 0x4d5fe8 in display_object_bfd
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:3589:7
    #9 0x4d5dcc in display_any_bfd
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:3678:5
    #10 0x4d45f3 in display_file
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:3699:3
    #11 0x4d26d3 in main
/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/../../binutils/objdump.c:4001:6
    #12 0x7fb407a88f44 in __libc_start_main
/build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287
    #13 0x4cb13c in _start
(/home/ubuntu/binutils-analysis/binutils-gdb/obj-asan/binutils/objdump+0x4cb13c)

VALGRIND says:
==148401== Invalid read of size 8
==148401==    at 0x4D209A: _bfd_dwarf2_find_nearest_line (dwarf2.c:4212)
==148401==    by 0x49B5EA: _bfd_elf_find_nearest_line (elf.c:8642)
==148401==    by 0x4050CC: show_line (objdump.c:1486)
==148401==    by 0x405B52: disassemble_bytes (objdump.c:1791)
==148401==    by 0x407248: disassemble_section (objdump.c:2304)
==148401==    by 0x469C57: bfd_map_over_sections (section.c:1395)
==148401==    by 0x40779C: disassemble_data (objdump.c:2438)
==148401==    by 0x409EA8: dump_bfd (objdump.c:3532)
==148401==    by 0x40A02E: display_object_bfd (objdump.c:3589)
==148401==    by 0x40A270: display_any_bfd (objdump.c:3678)
==148401==    by 0x40A2E4: display_file (objdump.c:3699)
==148401==    by 0x40ABB7: main (objdump.c:4001)
==148401==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==148401== 
==148401== 
==148401== Process terminating with default action of signal 11 (SIGSEGV)
==148401==  Access not within mapped region at address 0x0
==148401==    at 0x4D209A: _bfd_dwarf2_find_nearest_line (dwarf2.c:4212)
==148401==    by 0x49B5EA: _bfd_elf_find_nearest_line (elf.c:8642)
==148401==    by 0x4050CC: show_line (objdump.c:1486)
==148401==    by 0x405B52: disassemble_bytes (objdump.c:1791)
==148401==    by 0x407248: disassemble_section (objdump.c:2304)
==148401==    by 0x469C57: bfd_map_over_sections (section.c:1395)
==148401==    by 0x40779C: disassemble_data (objdump.c:2438)
==148401==    by 0x409EA8: dump_bfd (objdump.c:3532)
==148401==    by 0x40A02E: display_object_bfd (objdump.c:3589)
==148401==    by 0x40A270: display_any_bfd (objdump.c:3678)
==148401==    by 0x40A2E4: display_file (objdump.c:3699)
==148401==    by 0x40ABB7: main (objdump.c:4001)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]