Re: readelf looping in process_archive
authorAlan Modra <amodra@gmail.com>
Fri, 27 Mar 2020 00:00:56 +0000 (10:30 +1030)
committerAlan Modra <amodra@gmail.com>
Fri, 27 Mar 2020 00:07:18 +0000 (10:37 +1030)
commit80e2a3b66ed9055fc26a1e5e26c6158b1c87111d
tree5abc92bf82b05a19d765b1d4ff906a1e427fc362
parent89ff19d45e9acfff9c77bf570631df6b99b62619
Re: readelf looping in process_archive

This patch fixes a leak of qualified_name caused by 4c83662712 and a
double free introduced by fd486f32d1.  Not breaking out of the loop
results in an error: "failed to seek to next archive header".  That's
slightly better than silently preventing the possibility of endless
loops.

* readelf.c (process_archive): Don't double free qualified_name.
Don't break out of loop with "negative" archive_file_size, just
set file offset to max.
binutils/ChangeLog
binutils/readelf.c