aboutsummaryrefslogtreecommitdiff
path: root/bfd/vms-lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/vms-lib.c')
-rw-r--r--bfd/vms-lib.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c
index dc07e79..6ae1a7b 100644
--- a/bfd/vms-lib.c
+++ b/bfd/vms-lib.c
@@ -568,14 +568,9 @@ _bfd_vms_lib_archive_p (bfd *abfd, enum vms_lib_kind kind)
!= sizeof (buf_reclen))
goto err;
reclen = bfd_getl32 (buf_reclen);
- buf = bfd_malloc (reclen);
+ buf = _bfd_malloc_and_read (abfd, reclen, reclen);
if (buf == NULL)
goto err;
- if (bfd_bread (buf, reclen, abfd) != reclen)
- {
- free (buf);
- goto err;
- }
map = (struct vms_dcxmap *)buf;
tdata->nbr_dcxsbm = bfd_getl16 (map->nsubs);
sbm_off = bfd_getl16 (map->sub0);