diff options
author | Nick Clifton <nickc@redhat.com> | 2007-06-29 14:36:21 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2007-06-29 14:36:21 +0000 |
commit | 3462035fa0828e6be9fd999aed59402e8b6c31ed (patch) | |
tree | 45149a902202cbfbdfab0041b85451b4e67d6fe7 /bfd | |
parent | c71c5ca94739658975dffa7f37de15cf70a79bb0 (diff) | |
download | binutils-redhat-3462035fa0828e6be9fd999aed59402e8b6c31ed.tar.gz |
* bfd.c (bfd_demangle): Plug memory leak (Coverity).
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/bfd.c | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 33313c031a..ad71032f6f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 @@ -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; } |