mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
Call cleanup on bfd_check_format_matches error exit
* format.c (bfd_check_format_matches): Call cleanup on error exit.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2020-03-04 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* format.c (bfd_check_format_matches): Call cleanup on error exit.
|
||||||
|
|
||||||
2020-03-03 Alan Modra <amodra@gmail.com>
|
2020-03-03 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* format.c (struct bfd_preserve): Add cleanup field.
|
* format.c (struct bfd_preserve): Add cleanup field.
|
||||||
|
@ -515,6 +515,8 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
|
|||||||
err_unrecog:
|
err_unrecog:
|
||||||
bfd_set_error (bfd_error_file_not_recognized);
|
bfd_set_error (bfd_error_file_not_recognized);
|
||||||
err_ret:
|
err_ret:
|
||||||
|
if (cleanup)
|
||||||
|
cleanup (abfd);
|
||||||
abfd->xvec = save_targ;
|
abfd->xvec = save_targ;
|
||||||
abfd->format = bfd_unknown;
|
abfd->format = bfd_unknown;
|
||||||
if (matching_vector)
|
if (matching_vector)
|
||||||
@ -544,6 +546,8 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
|
|||||||
}
|
}
|
||||||
else if (matching_vector)
|
else if (matching_vector)
|
||||||
free (matching_vector);
|
free (matching_vector);
|
||||||
|
if (cleanup)
|
||||||
|
cleanup (abfd);
|
||||||
if (preserve_match.marker != NULL)
|
if (preserve_match.marker != NULL)
|
||||||
bfd_preserve_finish (abfd, &preserve_match);
|
bfd_preserve_finish (abfd, &preserve_match);
|
||||||
bfd_preserve_restore (abfd, &preserve);
|
bfd_preserve_restore (abfd, &preserve);
|
||||||
|
Reference in New Issue
Block a user