[binutils-gdb] Fix a use-after-freed error introduced by previous attempt to fix a Coverity scan result.

Nick Clifton nickc@sourceware.org
Thu Sep 13 15:16:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=508d0c9b5945d30bcf163b9b88213d277949e9a8

commit 508d0c9b5945d30bcf163b9b88213d277949e9a8
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Sep 13 16:14:36 2018 +0100

    Fix a use-after-freed error introduced by previous attempt to fix a Coverity scan result.
    
    	PR 23633
    	* objcopy.c (add_specific_symbols): Do not free the buffer at the
    	end of the function.

Diff:
---
 binutils/ChangeLog | 6 ++++++
 binutils/objcopy.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index d77b3ab..040e6ec 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2018-09-13  Nick Clifton  <nickc@redhat.com>
+
+	PR 23633
+	* objcopy.c (add_specific_symbols): Do not free the buffer at the
+	end of the function.
+
 2018-09-10  Alan Modra  <amodra@gmail.com>
 
 	PR binutils/23611
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index f712ffe..8e06cd2 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1143,7 +1143,8 @@ add_specific_symbols (const char *filename, htab_t htab)
       line_count ++;
     }
 
-  free (buffer);
+  /* Do not free the buffer.  Parts of it will have been referenced
+     in the calls to add_specific_symbol.  */
 }
 
 /* See whether a symbol should be stripped or kept



More information about the Binutils-cvs mailing list