From 8a2df5e2df374289e00ecd8f099eb46d76ef982e Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Mon, 24 Jul 2017 14:04:04 +0100
Subject: [PATCH] Fix another memory access error triggered by attempting to
parse a corrupt binary.
PR 21813
(alpha_vms_object_p): Check for a truncated record.
---
bfd/vms-alpha.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 5e9170d..610b034 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -2679,6 +2679,9 @@ alpha_vms_object_p (bfd *abfd)
PRIV (recrd.buf_size) = PRIV (recrd.rec_size);
}
+ /* PR 21813: Check for a truncated record. */
+ if (PRIV (recrd.rec_size < test_len))
+ goto error_ret;
/* Read the remaining record. */
remaining = PRIV (recrd.rec_size) - test_len;
to_read = MIN (VMS_BLOCK_SIZE - test_len, remaining);
--
2.9.3