diff options
author | Nick Clifton <nickc@redhat.com> | 2019-01-04 12:11:51 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-01-04 12:11:51 +0000 |
commit | cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416 (patch) | |
tree | 30a597593dc59479b52fcdfa707690be61236ffd /binutils | |
parent | 677bd4c69d0eda4f2ae635d793f23c0b1413a9e9 (diff) | |
download | binutils-cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416.zip binutils-cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416.tar.gz binutils-cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416.tar.bz2 |
Fix ridiculously small memory leak.
PR 24001
* objcopy.c (copy_object): Free dhandle after writing out the
debug information.
* objdump.c (dump_bfd): Free dhandle after printing out the debug
information.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 8 | ||||
-rw-r--r-- | binutils/objcopy.c | 9 | ||||
-rw-r--r-- | binutils/objdump.c | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 3fc4606..c1b2d0b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2019-01-04 Nick Clifton <nickc@redhat.com> + + PR 24001 + * objcopy.c (copy_object): Free dhandle after writing out the + debug information. + * objdump.c (dump_bfd): Free dhandle after printing out the debug + information. + 2019-01-01 Alan Modra <amodra@gmail.com> Update year range in copyright notice of all files. diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 9bc1230..0e17b86 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -3087,7 +3087,14 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) if (convert_debugging && dhandle != NULL) { - if (! write_debugging_info (obfd, dhandle, &symcount, &osympp)) + bfd_boolean res; + + res = write_debugging_info (obfd, dhandle, &symcount, &osympp); + + free (dhandle); + dhandle = NULL; /* Paranoia... */ + + if (! res) { status = 1; return FALSE; diff --git a/binutils/objdump.c b/binutils/objdump.c index 37a28d5..220d93a 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -3692,6 +3692,8 @@ dump_bfd (bfd *abfd) bfd_get_filename (abfd)); exit_status = 1; } + + free (dhandle); } /* PR 6483: If there was no STABS debug info in the file, try DWARF instead. */ |