From: Alan Modra Date: Wed, 29 Mar 2023 11:33:35 +0000 (+1030) Subject: Tidy memory on addr2line failures X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a2276a6d67195b27b91edf14081303616b2bb76e;p=binutils-gdb.git Tidy memory on addr2line failures * addr2line.c (process_file): Close bfd on error paths. --- diff --git a/binutils/addr2line.c b/binutils/addr2line.c index afe116a235c..b07302ddc99 100644 --- a/binutils/addr2line.c +++ b/binutils/addr2line.c @@ -451,6 +451,7 @@ process_file (const char *file_name, const char *section_name, if (bfd_check_format (abfd, bfd_archive)) { non_fatal (_("%s: cannot get addresses from archive"), file_name); + bfd_close (abfd); return 1; } @@ -459,6 +460,7 @@ process_file (const char *file_name, const char *section_name, bfd_nonfatal (bfd_get_filename (abfd)); if (bfd_get_error () == bfd_error_file_ambiguously_recognized) list_matching_formats (matching); + bfd_close (abfd); return 1; } @@ -468,6 +470,7 @@ process_file (const char *file_name, const char *section_name, if (section == NULL) { non_fatal (_("%s: cannot find section %s"), file_name, section_name); + bfd_close (abfd); return 1; } }