asan: alpha-vms: mmember access within null pointer
Alan Modra
amodra@gmail.com
Wed Aug 26 13:45:42 GMT 2020
* bfdio.c (bfd_get_file_size): Don't segv on NULL adata.
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index 5f144bc7f3..86b696bba9 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -493,13 +493,17 @@ bfd_get_file_size (bfd *abfd)
&& !bfd_is_thin_archive (abfd->my_archive))
{
struct areltdata *adata = (struct areltdata *) abfd->arelt_data;
- archive_size = adata->parsed_size;
- /* If the archive is compressed we can't compare against file size. */
- if (adata->arch_header != NULL
- && memcmp (((struct ar_hdr *) adata->arch_header)->ar_fmag,
- "Z\012", 2) == 0)
- return archive_size;
- abfd = abfd->my_archive;
+ if (adata != NULL)
+ {
+ archive_size = adata->parsed_size;
+ /* If the archive is compressed we can't compare against
+ file size. */
+ if (adata->arch_header != NULL
+ && memcmp (((struct ar_hdr *) adata->arch_header)->ar_fmag,
+ "Z\012", 2) == 0)
+ return archive_size;
+ abfd = abfd->my_archive;
+ }
}
file_size = bfd_get_size (abfd);
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list