bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/24057] New: objdump memory leaks in xmalloc.c


From: 0x0keeper at gmail dot com
Subject: [Bug binutils/24057] New: objdump memory leaks in xmalloc.c
Date: Thu, 03 Jan 2019 12:08:26 +0000

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

            Bug ID: 24057
           Summary: objdump memory leaks in xmalloc.c
           Product: binutils
           Version: 2.31
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: 0x0keeper at gmail dot com
  Target Milestone: ---

Created attachment 11508
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11508&action=edit
binutil-objdump-memory-leaks-xmalloc

hi,binutils team.i found there is memory leaks in xmalloc.c, when used objdump. 
here is AddressSanitizer info.

./binutils/objdump  -W poc

.........
==24202==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 28672 byte(s) in 4 object(s) allocated from:
    #0 0x4b9708 in malloc (/root/fuzz/binutils-2.31/binutils/objdump+0x4b9708)
    #1 0x9b73cf in xrealloc
/root/fuzz/binutils-2.31/libiberty/./xmalloc.c:177:14
    #2 0x50ae56 in read_and_display_attr
/root/fuzz/binutils-2.31/binutils/dwarf.c:2696:10
    #3 0x50ae56 in process_debug_info
/root/fuzz/binutils-2.31/binutils/dwarf.c:3206
    #4 0x5062cb in load_separate_debug_file
/root/fuzz/binutils-2.31/binutils/dwarf.c:9937:11
    #5 0x4f2f45 in dump_dwarf
/root/fuzz/binutils-2.31/binutils/./objdump.c:2766:15
    #6 0x4ee3be in display_object_bfd
/root/fuzz/binutils-2.31/binutils/./objdump.c:3688:7
    #7 0x4ee3be in display_any_bfd
/root/fuzz/binutils-2.31/binutils/./objdump.c:3777
    #8 0x4ed553 in display_file
/root/fuzz/binutils-2.31/binutils/./objdump.c:3798:3
    #9 0x4ed553 in main /root/fuzz/binutils-2.31/binutils/./objdump.c:4100
    #10 0x7fa9ab24b82f in __libc_start_main
/build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291

Direct leak of 408 byte(s) in 8 object(s) allocated from:
    #0 0x4b9708 in malloc (/root/fuzz/binutils-2.31/binutils/objdump+0x4b9708)
    #1 0x9b723a in xmalloc
/root/fuzz/binutils-2.31/libiberty/./xmalloc.c:147:12
    #2 0x4f4a16 in dump_dwarf_section
/root/fuzz/binutils-2.31/binutils/./objdump.c:2694:6

Direct leak of 96 byte(s) in 1 object(s) allocated from:
    #0 0x4b9708 in malloc (/root/fuzz/binutils-2.31/binutils/objdump+0x4b9708)
    #1 0x9b723a in xmalloc
/root/fuzz/binutils-2.31/libiberty/./xmalloc.c:147:12
    #2 0x5117c8 in display_debug_frames
/root/fuzz/binutils-2.31/binutils/dwarf.c:7497:12
    #3 0x4f4a16 in dump_dwarf_section
/root/fuzz/binutils-2.31/binutils/./objdump.c:2694:6

Indirect leak of 204 byte(s) in 4 object(s) allocated from:
    #0 0x4b9a88 in realloc (/root/fuzz/binutils-2.31/binutils/objdump+0x4b9a88)
    #1 0x9b73aa in xrealloc
/root/fuzz/binutils-2.31/libiberty/./xmalloc.c:179:14

Indirect leak of 96 byte(s) in 1 object(s) allocated from:
    #0 0x4b9708 in malloc (/root/fuzz/binutils-2.31/binutils/objdump+0x4b9708)
    #1 0x9b723a in xmalloc
/root/fuzz/binutils-2.31/libiberty/./xmalloc.c:147:12
    #2 0x5117c8 in display_debug_frames
/root/fuzz/binutils-2.31/binutils/dwarf.c:7497:12
    #3 0x4f4a16 in dump_dwarf_section
/root/fuzz/binutils-2.31/binutils/./objdump.c:2694:6

SUMMARY: AddressSanitizer: 29476 byte(s) leaked in 18 allocation(s).


for example,source code in /binutils-2.31/libiberty/./xmalloc.c:177:14
https://github.com/bminor/binutils-gdb/blob/master/libiberty/xmalloc.c#L177

xrealloc (PTR oldmem, size_t size)
{
  PTR newmem;

  if (size == 0)
    size = 1;
  if (!oldmem)
    newmem = malloc (size);
  else
    newmem = realloc (oldmem, size);
  if (!newmem)
    xmalloc_failed (size);

  return (newmem);
}

-- 
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]