X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=binutils%2Fobjcopy.c;fp=binutils%2Fobjcopy.c;h=3b9f1b73ca90b52d46091a39856ecf8e9a65bb57;hb=d1faf7ca0a9ecbc7f89998638e5cf08d3dca6e84;hp=daee57076379d1fd59500d2775c616d52479a0f8;hpb=dee35d026c92b4054a90d655324dc90b4ea6cbfc;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/objcopy.c b/binutils/objcopy.c index daee570763..3b9f1b73ca 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1580,9 +1580,14 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms, if (add_leading_char || prefix_symbols_string) { char *n, *ptr; + size_t len = strlen (name) + 1; - ptr = n = (char *) xmalloc (1 + strlen (prefix_symbols_string) - + strlen (name) + 1); + if (add_leading_char) + len++; + if (prefix_symbols_string) + len += strlen (prefix_symbols_string); + + ptr = n = (char *) xmalloc (len); if (add_leading_char) *ptr++ = bfd_get_symbol_leading_char (obfd);