bfd_error_on_input messages
authorAlan Modra <amodra@gmail.com>
Mon, 5 Jun 2023 06:55:16 +0000 (16:25 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 5 Jun 2023 07:17:44 +0000 (16:47 +0930)
commitfc998e4cb708899b5f75d8d4d2b79ed162437c41
treea0b62f5c851792baca8ef9faa4f2c883306e87dd
parent6fc018e9e593a3235dbf7026726ba4665373b741
bfd_error_on_input messages

bfd_errmsg uses asprintf for bfd_error_on_input, which means we
currently leak memory.  Keep a static pointer to the message and free
it in various places to minimise the leaks.
bfd_set_input_error (NULL, bfd_error_no_error) is a way to free up the
last string if that matters.

* bfd.c (input_error_msg): New static var.
(bfd_set_input_error): Free it here..
(bfd_init): ..and here..
(bfd_errmsg): ..and here.  Use it for asprintf output.
bfd/bfd.c