From: Ian Lance Taylor Date: Thu, 22 Jul 1999 00:29:35 +0000 (+0000) Subject: 1999-07-21 Philippe De Muyter X-Git-Tag: gdb-1999-07-26~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75987f837d86a482443aab3c68a8b84afc600ce5;p=thirdparty%2Fbinutils-gdb.git 1999-07-21 Philippe De Muyter * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error message and fail if a symbol index is out of range. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6fb1b12ba2b..e1059ee9bf6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +1999-07-21 Philippe De Muyter + + * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error + message and fail if a symbol index is out of range. + 1999-07-21 Ian Lance Taylor * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 994cea498ea..679e7a84d87 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -2603,6 +2603,14 @@ _bfd_coff_generic_relocate_section (output_bfd, info, input_bfd, h = NULL; sym = NULL; } + else if (symndx < 0 + || (unsigned long) symndx >= obj_raw_syment_count (input_bfd)) + { + (*_bfd_error_handler) + ("%s: illegal symbol index %ld in relocs", + bfd_get_filename (input_bfd), symndx); + return false; + } else { h = obj_coff_sym_hashes (input_bfd)[symndx];