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
commitac145e5278c4863ced0dc03311c7ef804b6847a4 (patch)
tree0a52cc664d4dae0e6599f75b4766f5addee18c36 /bfd/bfd.c
parenta6419584a8ec84859a643b39c0d40136c114adda (diff)
downloadgdb-ac145e5278c4863ced0dc03311c7ef804b6847a4.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 b1c49aa08f4..510df0ab27f 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;
}