diff --git a/bfd/archive.c b/bfd/archive.c index 5f350b8e5ce..3868fc9f7ed 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -713,8 +713,9 @@ _bfd_get_elt_at_filepos (bfd *archive, file_ptr filepos) /* It's not an element of a nested archive; open the external file as a bfd. */ + bfd_set_error (bfd_error_no_error); n_bfd = open_nested_file (filename, archive); - if (n_bfd == NULL) + if (n_bfd == NULL && bfd_get_error () == bfd_error_no_error) bfd_set_error (bfd_error_malformed_archive); } else