]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix two small memory leaks in config mechanism.
authorSimon Tatham <anakin@pobox.com>
Fri, 8 May 2015 17:57:18 +0000 (18:57 +0100)
committerSimon Tatham <anakin@pobox.com>
Fri, 8 May 2015 17:57:18 +0000 (18:57 +0100)
The memory dangling off ssd->sesslist should be freed when ssd itself
goes away, and the font settings ctrlset we delete in gtkcfg.c should
be freed as well once it's been removed from its containing array.

Thanks to Ranjini Aravind for pointing these out.

config.c
unix/gtkcfg.c

index d2f2891b777d114fe63bf49d8c13cba202d0d518..a134e326c4f9c0ef4b1d8b636d81bdf46498061c 100644 (file)
--- a/config.c
+++ b/config.c
@@ -569,6 +569,7 @@ struct sessionsaver_data {
 static void sessionsaver_data_free(void *ssdv)
 {
     struct sessionsaver_data *ssd = (struct sessionsaver_data *)ssdv;
+    get_sesslist(&ssd->sesslist, FALSE);
     sfree(ssd->savedsession);
     sfree(ssd);
 }
index ab8ef973912f30044be938aa74e70cdacb97819c..958a3f6653e6a4571ab03c4ced9ffabd6566b960 100644 (file)
@@ -81,6 +81,7 @@ void gtk_setup_config_box(struct controlbox *b, int midsession, void *win)
             memmove(b->ctrlsets+i, b->ctrlsets+i+1,
                     (b->nctrlsets-i-1) * sizeof(*b->ctrlsets));
             b->nctrlsets--;
+            ctrl_free_set(s2);
             break;
         }
     }