summaryrefslogtreecommitdiff
path: root/bfd/bfd.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-06-29 14:36:21 +0000
committerNick Clifton <nickc@redhat.com>2007-06-29 14:36:21 +0000
commit3462035fa0828e6be9fd999aed59402e8b6c31ed (patch)
tree45149a902202cbfbdfab0041b85451b4e67d6fe7 /bfd/bfd.c
parentc71c5ca94739658975dffa7f37de15cf70a79bb0 (diff)
downloadbinutils-redhat-3462035fa0828e6be9fd999aed59402e8b6c31ed.tar.gz
* bfd.c (bfd_demangle): Plug memory leak (Coverity).
Diffstat (limited to 'bfd/bfd.c')
-rw-r--r--bfd/bfd.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/bfd/bfd.c b/bfd/bfd.c
index b1c49aa08f..510df0ab27 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -1773,12 +1773,12 @@ bfd_demangle (bfd *abfd, const char *name, int options)
suf = res + len;
suf_len = strlen (suf) + 1;
final = bfd_malloc (pre_len + len + suf_len);
- if (final == NULL)
- return NULL;
-
- memcpy (final, pre, pre_len);
- memcpy (final + pre_len, res, len);
- memcpy (final + pre_len + len, suf, suf_len);
+ if (final != NULL)
+ {
+ memcpy (final, pre, pre_len);
+ memcpy (final + pre_len, res, len);
+ memcpy (final + pre_len + len, suf, suf_len);
+ }
free (res);
res = final;
}