[binutils-gdb] windows_clear_solib memory leak

Hannes Domani ssbssa@sourceware.org
Fri Jan 3 17:00:00 GMT 2020


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

commit 25057eb004b9a6e55b96f64176bb27cf0c457e23
Author: Hannes Domani <ssbssa@yahoo.de>
Date:   Tue Dec 24 13:14:01 2019 +0100

    windows_clear_solib memory leak
    
    gdb/ChangeLog:
    
    2020-01-03  Hannes Domani  <ssbssa@yahoo.de>
    
    	* windows-nat.c (windows_clear_solib): Free so_list linked list.

Diff:
---
 gdb/ChangeLog     | 4 ++++
 gdb/windows-nat.c | 9 ++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5547248..a7817d6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-03  Hannes Domani  <ssbssa@yahoo.de>
+
+	* windows-nat.c (windows_clear_solib): Free so_list linked list.
+
 2020-01-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
 	* MAINTAINERS (Write After Approval): Add myself.
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index fc84faa..2214caa 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -940,7 +940,14 @@ catch_errors (void (*func) ())
 static void
 windows_clear_solib (void)
 {
-  solib_start.next = NULL;
+  struct so_list *so;
+
+  for (so = solib_start.next; so; so = solib_start.next)
+    {
+      solib_start.next = so->next;
+      windows_free_so (so);
+    }
+
   solib_end = &solib_start;
 }



More information about the Gdb-cvs mailing list