This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

elfcode.h memory leak?


Doug Evans writes:
 > elf_slurp_symbol_table has this:
 > 
 >       symbase = ((elf_symbol_type *)
 > 		 bfd_zalloc (abfd, symcount * sizeof (elf_symbol_type)));
 > 
 > Who's responsibility is it to free `symbase'?
 > 
 > bfd_canonicalize_symtab returns an array of pointers into this.
 > But I don't see where the actual symbol array is freed.
 > It isn't recorded anywhere for someone to free.
 > 
 > Is one supposed to just know that the first symbol pointer is a
 > pointer to the head of the malloc'd chunk and therefore can be
 > passed to free()?  Rather clumsy and fragile, so I'm guessing
 > I'm overlooking something.

Ok, digging a bit deeper, it's allocated in the bfd's
objalloc heap.  So it _should_ be freed when bfd_close is called.
I don't understand why I'm not seeing it freed.
[I've wrapped malloc/free to watch for leaks.]

Sorry for the bother.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]