aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog3
-rw-r--r--bfd/srec.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 54ef404..45545f5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,8 @@
2007-07-26 Michael Snyder <msnyder@access-company.com>
+ * srec.c (srec_scan): Check for EOF (critical because return value
+ will be used as array index).
+
* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
are not to be cached, free the temporary buffer.
diff --git a/bfd/srec.c b/bfd/srec.c
index ebb039b..371e53a 100644
--- a/bfd/srec.c
+++ b/bfd/srec.c
@@ -428,6 +428,11 @@ srec_scan (bfd *abfd)
symval <<= 4;
symval += NIBBLE (c);
c = srec_get_byte (abfd, &error);
+ if (c == EOF)
+ {
+ srec_bad_byte (abfd, lineno, c, error);
+ goto error_return;
+ }
}
if (! srec_new_symbol (abfd, symname, symval))