https://sourceware.org/bugzilla/show_bug.cgi?id=27779
Bug ID: 27779 Summary: SEGV on parse_gnu_debuglink() Product: binutils Version: 2.36.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: 2060909445 at qq dot com Target Milestone: --- Created attachment 13400 --> https://sourceware.org/bugzilla/attachment.cgi?id=13400&action=edit objdump crash environment: binutils 2.36.50.20210426 on centos linux 7.7.1908 command: objdump -D PoC information below from asan: ASAN:DEADLYSIGNAL ================================================================= ==29822==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000000000 bp 0x7fff555aa340 sp 0x7fff555aa318 T0) ==29822==Hint: pc points to the zero page. ==29822==The signal is caused by a READ memory access. ==29822==Hint: address points to the zero page. AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (<unknown module>) ==29822==ABORTING information below from valgrind: ==11147== Memcheck, a memory error detector ==11147== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==11147== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info ==11147== Command: /root/target_programs/binutils-gdb/program/objdump -D ./crash/id:000000,sig:11,src:1345252670,op:flip2,pos:7 ==11147== ==11147== Jump to the invalid address stated on the next line ==11147== at 0x0: ??? ==11147== by 0x46C28E: parse_gnu_debuglink (dwarf.c:10964) ==11147== by 0x46C28E: load_separate_debug_info (dwarf.c:11110) ==11147== by 0x46C28E: check_for_and_load_links (dwarf.c:11415) ==11147== by 0x4E6A9A: load_separate_debug_files (dwarf.c:11531) ==11147== by 0x42C3FA: dump_bfd (objdump.c:4815) ==11147== by 0x42E6D4: display_object_bfd (objdump.c:5001) ==11147== by 0x40F6F6: display_file (objdump.c:5112) ==11147== by 0x40F6F6: main (objdump.c:5462) ==11147== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==11147== ==11147== ==11147== Process terminating with default action of signal 11 (SIGSEGV) ==11147== Bad permissions for mapped region at address 0x0 ==11147== at 0x0: ??? ==11147== by 0x46C28E: parse_gnu_debuglink (dwarf.c:10964) ==11147== by 0x46C28E: load_separate_debug_info (dwarf.c:11110) ==11147== by 0x46C28E: check_for_and_load_links (dwarf.c:11415) ==11147== by 0x4E6A9A: load_separate_debug_files (dwarf.c:11531) ==11147== by 0x42C3FA: dump_bfd (objdump.c:4815) ==11147== by 0x42E6D4: display_object_bfd (objdump.c:5001) ==11147== by 0x40F6F6: display_file (objdump.c:5112) ==11147== by 0x40F6F6: main (objdump.c:5462) ==11147== ==11147== HEAP SUMMARY: ==11147== in use at exit: 78,130 bytes in 33 blocks ==11147== total heap usage: 105 allocs, 72 frees, 342,311 bytes allocated ==11147== ==11147== LEAK SUMMARY: ==11147== definitely lost: 0 bytes in 0 blocks ==11147== indirectly lost: 0 bytes in 0 blocks ==11147== possibly lost: 0 bytes in 0 blocks ==11147== still reachable: 78,130 bytes in 33 blocks ==11147== suppressed: 0 bytes in 0 blocks ==11147== Rerun with --leak-check=full to see details of leaked memory ==11147== ==11147== For lists of detected and suppressed errors, rerun with: -s ==11147== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) -- You are receiving this mail because: You are on the CC list for the bug.