Fixes a problem recognizing libraries created by Visual Studio.
PR binutils/17910 * coffgen.c (_bfd_coff_internal_syment_name): Only check for string length overflow when the string table length is actually set.
This commit is contained in:
parent
6f98576f29
commit
cdb602b175
2 changed files with 11 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2015-02-27 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR binutils/17910
|
||||||
|
* coffgen.c (_bfd_coff_internal_syment_name): Only check for
|
||||||
|
string length overflow when the string table length is actually
|
||||||
|
set.
|
||||||
|
|
||||||
2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
2015-02-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||||||
|
|
||||||
* bfd/bfd-in2.h: Regenerate.
|
* bfd/bfd-in2.h: Regenerate.
|
||||||
|
|
|
@ -468,7 +468,10 @@ _bfd_coff_internal_syment_name (bfd *abfd,
|
||||||
if (strings == NULL)
|
if (strings == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (sym->_n._n_n._n_offset >= obj_coff_strings_len (abfd))
|
/* PR 17910: Only check for string overflow if the length has been set.
|
||||||
|
Some DLLs, eg those produced by Visual Studio, may not set the length field. */
|
||||||
|
if (obj_coff_strings_len (abfd) > 0
|
||||||
|
&& sym->_n._n_n._n_offset >= obj_coff_strings_len (abfd))
|
||||||
return NULL;
|
return NULL;
|
||||||
return strings + sym->_n._n_n._n_offset;
|
return strings + sym->_n._n_n._n_offset;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue