This is another one where not cleaning up sufficiently after
processing one file can lead to errors when processing the next file.
We have ngnuchains non-zero but gnuchains NULL in the following:
off < ngnuchains && (gnuchains[off] & 1) == 0
* readelf.c (process_symbol_table): Clear ngnuchains, ngnubuckets
and nbuckets.
+2020-04-20 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (process_symbol_table): Clear ngnuchains, ngnubuckets
+ and nbuckets.
+
2020-04-20 Alan Modra <amodra@gmail.com>
* readelf.c (process_section_headers): Free dynamic symbols etc.
free (buckets);
buckets = NULL;
+ nbuckets = 0;
free (chains);
chains = NULL;
}
free (gnubuckets);
gnubuckets = NULL;
+ ngnubuckets = 0;
free (gnuchains);
gnuchains = NULL;
+ ngnuchains = 0;
free (mipsxlat);
mipsxlat = NULL;
return TRUE;
err_out:
free (gnubuckets);
gnubuckets = NULL;
+ ngnubuckets = 0;
free (gnuchains);
gnuchains = NULL;
+ ngnuchains = 0
free (mipsxlat);
mipsxlat = NULL;
free (buckets);
buckets = NULL;
+ nbuckets = 0;
free (chains);
chains = NULL;
return FALSE;