bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/11983] libbfd reuses pointer passed to bfd_openr


From: cvs-commit at gcc dot gnu.org
Subject: [Bug binutils/11983] libbfd reuses pointer passed to bfd_openr
Date: Wed, 24 Jun 2015 21:10:29 +0000

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

--- Comment #14 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Keith Seitz <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=32fad71f9e6cdf73fe3c10123b23f42397b83e7d

commit 32fad71f9e6cdf73fe3c10123b23f42397b83e7d
Author: Keith Seitz <address@hidden>
Date:   Thu Jun 4 10:13:50 2015 -0700

    Fix lrealpath memory leak in build_id_to_debug_bfd

    Valgrind reports memory leaking from build_id_to_debug_bfd:
    ==7261== 88 bytes in 2 blocks are definitely lost in loss record 31,319 of
35,132
    ==7261==    at 0x4A06BCF: malloc (vg_replace_malloc.c:296)
    ==7261==    by 0x32CA88A9B9: strdup (strdup.c:42)
    ==7261==    by 0xFE62AB: lrealpath (lrealpath.c:88)
    ==7261==    by 0x7F7AD6: build_id_to_debug_bfd (build-id.c:116)
    ==7261==    by 0x7F7BB5: find_separate_debug_file_by_buildid
(build-id.c:149)
    ==7261==    by 0x6D9382: elf_symfile_read (elfread.c:1348)
    ==7261==    by 0x777F02: read_symbols (symfile.c:875)
    ==7261==    by 0x778505: syms_from_objfile_1 (symfile.c:1078)
    ==7261==    by 0x778548: syms_from_objfile (symfile.c:1094)
    ==7261==    by 0x778746: symbol_file_add_with_addrs (symfile.c:1191)
    ==7261==    by 0x77893B: symbol_file_add_from_bfd (symfile.c:1280)
    ==7261==    by 0x8E51E3: solib_read_symbols (solib.c:706)
    ==7261==    by 0x8E58AF: solib_add (solib.c:1029)

    This occurs because commit 1be5090b in bfd, addressing PR 11983, started
    taking a copy of the input filename instead of directly caching it.  It
    appears that this code was never updated to reflect that API change.

    This simple patch creates a cleanup to free the return value for lrealpath.

    gdb/ChangeLog

        * build-id.c (build_id_to_debug_bfd): Add cleanup to free
        return value from lrealpath.

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