Fix mmo memory leaks
authorAlan Modra <amodra@gmail.com>
Fri, 10 Feb 2023 09:38:40 +0000 (20:08 +1030)
committerAlan Modra <amodra@gmail.com>
Fri, 10 Feb 2023 10:00:24 +0000 (20:30 +1030)
commit80aa6647b1678fe84b5af5595ad939b48febf6a0
treef402c2d4366c911184ad0f5c658c32b7f479c574
parentfe8cdc8ec145a166414fc375cf2cb65d9a8085a1
Fix mmo memory leaks

The main one here is the section buffer, which can be quite large.
By using alloc rather than malloc we can leave tidying memory to the
generic bfd code when the bfd is closed.  bfd_check_format also
releases memory when object_p fails, so while it wouldn't be wrong
to bfd_release at bad_format_free in mmo_object_p, it's a little extra
code and work for no gain.

* mmo.c (mmo_object_p): bfd_alloc rather than bfd_malloc
lop_stab_symbol.  Don't free/release on error.
(mmo_get_spec_section): bfd_zalloc rather than bfd_zmalloc
section buffer.
(mmo_scan): Free fname on another error path.
bfd/mmo.c