x86 relr memory leaks

Alan Modra amodra@gmail.com
Tue Feb 11 07:09:44 GMT 2025


On Mon, Feb 10, 2025 at 03:30:34PM +0000, Nick Alcock wrote:
> (It turns out I am already testing with the sanitizer flags in question.
> Not sure why the leaks didn't show up...)

ASAN_OPTIONS with detect_leaks=0 in environment?

> binutils/
> 	* objdump.c (dump_ctf): Close dict.
> 	* readelf.c (dump_section_as_ctf): Likewise.

With this applied I'm still seeing leaks.  eg.

/build/gas-san/all/ld/../binutils/objdump  --ctf tmpdir/dump > tmpdir/dump.out
Executing on host: sh -c {/build/gas-san/all/ld/../binutils/objdump  --ctf tmpdir/dump > tmpdir/dump.out 2>dump.tmp}  /dev/null  (timeout = 300)
spawn [open ...]
exited abnormally with 1, output:
=================================================================
==3929920==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 21 byte(s) in 1 object(s) allocated from:
    #0 0x7fe5316fc778 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x623b91ec615f in ctf_str_append /home/alan/src/binutils-gdb/libctf/ctf-util.c:212
    #2 0x623b91ec630c in ctf_str_append_noerr /home/alan/src/binutils-gdb/libctf/ctf-util.c:228
    #3 0x623b91e70d6f in ctf_dump_objts /home/alan/src/binutils-gdb/libctf/ctf-dump.c:444
    #4 0x623b91e73716 in ctf_dump /home/alan/src/binutils-gdb/libctf/ctf-dump.c:738
    #5 0x623b9173128e in dump_ctf_archive_member /home/alan/src/binutils-gdb/binutils/objdump.c:4844
    #6 0x623b9173128e in dump_ctf /home/alan/src/binutils-gdb/binutils/objdump.c:4944
    #7 0x623b9173128e in dump_bfd /home/alan/src/binutils-gdb/binutils/objdump.c:5784
    #8 0x623b91733f4c in display_object_bfd /home/alan/src/binutils-gdb/binutils/objdump.c:5858
    #9 0x623b91733f4c in display_any_bfd /home/alan/src/binutils-gdb/binutils/objdump.c:5937
    #10 0x623b917341c2 in display_file /home/alan/src/binutils-gdb/binutils/objdump.c:5958
    #11 0x623b91714e9f in main /home/alan/src/binutils-gdb/binutils/objdump.c:6367
    #12 0x7fe530a2a1c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #13 0x7fe530a2a28a in __libc_start_main_impl ../csu/libc-start.c:360
    #14 0x623b9171c0c4 in _start (/build/gas-san/all/binutils/objdump+0x43050c4) (BuildId: 00679bb22e8b01be0368952c202b6fcc894d0f2c)

SUMMARY: AddressSanitizer: 21 byte(s) leaked in 1 allocation(s).

FAIL: Conflicted data syms, partially indexed, stripped, with variables

-- 
Alan Modra


More information about the Binutils mailing list