This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Add missing cleanup in exec_file_locate_attach


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

commit 88178e828a0d1af133c19d6165e4d5ee59304adf
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed Feb 17 14:38:36 2016 +0000

    Add missing cleanup in exec_file_locate_attach
    
    exec_file_locate_attach allocates memory for full_exec_path (using
    either exec_file_find, source_full_path_of or xstrdup) but this
    memory is never freed.  This commit adds the necessary cleanup.
    
    gdb/ChangeLog:
    
    	* exec.c (exec_file_locate_attach): Add missing cleanup.

Diff:
---
 gdb/ChangeLog | 4 ++++
 gdb/exec.c    | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 327ce7b..e507dd1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2016-02-17  Gary Benson  <gbenson@redhat.com>
+
+	* exec.c (exec_file_locate_attach): Add missing cleanup.
+
 2016-02-16  Don Breazeal  <donb@codesourcery.com>
 
 	PR remote/19496
diff --git a/gdb/exec.c b/gdb/exec.c
index 23c89c2..0b8c077 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -141,6 +141,7 @@ void
 exec_file_locate_attach (int pid, int from_tty)
 {
   char *exec_file, *full_exec_path = NULL;
+  struct cleanup *old_chain;
 
   /* Do nothing if we already have an executable filename.  */
   exec_file = (char *) get_exec_file (0);
@@ -170,8 +171,12 @@ exec_file_locate_attach (int pid, int from_tty)
 	full_exec_path = xstrdup (exec_file);
     }
 
+  old_chain = make_cleanup (xfree, full_exec_path);
+
   exec_file_attach (full_exec_path, from_tty);
   symbol_file_add_main (full_exec_path, from_tty);
+
+  do_cleanups (old_chain);
 }
 
 /* Set FILENAME as the new exec file.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]