mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +08:00
Misplaced parenthesis calculates two too few bytes for string
Factor out strlen to give better code and less likelihood of a repeat of this problem. PR 17766 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string length. Use memcpy rather than strcpy.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2014-12-28 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 17766
|
||||||
|
* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string
|
||||||
|
length. Use memcpy rather than strcpy.
|
||||||
|
|
||||||
2014-12-26 Alan Modra <amodra@gmail.com>
|
2014-12-26 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 17755
|
PR 17755
|
||||||
|
@ -601,11 +601,12 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
|
|||||||
section name, replacing .pdata by .xdata prefix. */
|
section name, replacing .pdata by .xdata prefix. */
|
||||||
if (strcmp (pdata_section->name, ".pdata") != 0)
|
if (strcmp (pdata_section->name, ".pdata") != 0)
|
||||||
{
|
{
|
||||||
char *xdata_name = alloca (strlen (pdata_section->name + 1));
|
size_t len = strlen (pdata_section->name);
|
||||||
|
char *xdata_name = alloca (len + 1);
|
||||||
|
|
||||||
xdata_name = strcpy (xdata_name, pdata_section->name);
|
xdata_name = memcpy (xdata_name, pdata_section->name, len + 1);
|
||||||
/* Transform .pdata prefix into .xdata prefix. */
|
/* Transform .pdata prefix into .xdata prefix. */
|
||||||
if (strlen (xdata_name) > 1)
|
if (len > 1)
|
||||||
xdata_name [1] = 'x';
|
xdata_name [1] = 'x';
|
||||||
xdata_section = pex64_get_section_by_rva (abfd, xdata_base,
|
xdata_section = pex64_get_section_by_rva (abfd, xdata_base,
|
||||||
xdata_name);
|
xdata_name);
|
||||||
|
Reference in New Issue
Block a user