X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Farchive.c;h=df37996d74b41bb31c270616868cbc9787585d70;hb=6db50b4cfe55834ee5fc8dc95c80529f8a0f2a1f;hp=40a3395ba09be7cd60bc0220efa7b2ebe563e246;hpb=b794fc1d1c3a3dfb65b74a36fe96c474fee65000;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/archive.c b/bfd/archive.c index 40a3395ba0..df37996d74 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -1300,6 +1300,8 @@ _bfd_slurp_extended_name_table (bfd *abfd) { byebye: free (namedata); + bfd_ardata (abfd)->extended_names = NULL; + bfd_ardata (abfd)->extended_names_size = 0; return FALSE; } @@ -1316,11 +1318,12 @@ _bfd_slurp_extended_name_table (bfd *abfd) text, the entries in the list are newline-padded, not null padded. In SVR4-style archives, the names also have a trailing '/'. DOS/NT created archive often have \ in them - We'll fix all problems here.. */ + We'll fix all problems here. */ { char *ext_names = bfd_ardata (abfd)->extended_names; char *temp = ext_names; char *limit = temp + namedata->parsed_size; + for (; temp < limit; ++temp) { if (*temp == ARFMAG[1])