diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 54ef404bc3..45545f5668 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ 2007-07-26 Michael Snyder + * 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 ebb039bba3..371e53a366 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))