amt = namedata->parsed_size;
if (amt + 1 == 0)
goto byebye;
- /* PR binutils/17533: A corrupt archive can contain an invalid size. */
- if (amt > (bfd_size_type) bfd_get_size (abfd))
- goto byebye;
bfd_ardata (abfd)->extended_names_size = amt;
bfd_ardata (abfd)->extended_names = (char *) bfd_zalloc (abfd, amt + 1);
if (bfd_get_error () != bfd_error_system_call)
bfd_set_error (bfd_error_malformed_archive);
bfd_release (abfd, (bfd_ardata (abfd)->extended_names));
+ bfd_ardata (abfd)->extended_names = NULL;
goto byebye;
}