* bfd.c (bfd_demangle): Plug memory leak (Coverity).
authorNick Clifton <nickc@redhat.com>
Fri, 29 Jun 2007 14:36:21 +0000 (14:36 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 29 Jun 2007 14:36:21 +0000 (14:36 +0000)
bfd/ChangeLog
bfd/bfd.c

index 33313c031ada3b4f40c93f0f12dfad322e1da32c..ad71032f6fae4609d130b2b6a3a00f13972f6c1a 100644 (file)
@@ -1,3 +1,7 @@
+2007-06-29  Michael Snyder  <msnyder@svkmacdonelllnx>
+
+       * bfd.c (bfd_demangle): Plug memory leak (Coverity).
+
 2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
 
        * Makefile.am: Add cr16 related entry
index b1c49aa08f49f7d7354c42bb750733b914e47fcd..510df0ab27f53397ba51e9e05e87f4183115e55e 100644 (file)
--- 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;
     }