From: Ben Pfaff Date: Tue, 17 Jul 2012 05:28:14 +0000 (-0700) Subject: var-type-dialog: Fix possible memory leaks. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22ff445f590d994452ab4d4d0f809a9c65d171ed;p=pspp var-type-dialog: Fix possible memory leaks. gtk_tree_model_get_value() documentation says: When done with value, g_value_unset() needs to be called to free any allocated memory. but none of the users in this file did that. --- diff --git a/src/ui/gui/var-type-dialog.c b/src/ui/gui/var-type-dialog.c index 786b0c4217..aa46ca446d 100644 --- a/src/ui/gui/var-type-dialog.c +++ b/src/ui/gui/var-type-dialog.c @@ -290,6 +290,8 @@ set_format_from_treeview (GtkTreeView *treeview, gpointer data) gtk_tree_model_get_value (model, &iter, 1, &the_value); dialog->fmt_l = *(struct fmt_spec *) g_value_get_pointer (&the_value); + + g_value_unset (&the_value); } @@ -313,6 +315,8 @@ set_format_type_from_treeview (GtkTreeView *treeview, gpointer data) dialog->fmt_l = custom_format; dialog->fmt_l.type = *(int*) g_value_get_pointer (&the_value); + + g_value_unset (&the_value); } @@ -589,6 +593,8 @@ select_treeview_from_format (GtkTreeView *treeview, const struct fmt_spec *fmt) spec = g_value_get_pointer (&value); + g_value_unset (&value); + if ( 0 == memcmp (spec, fmt, sizeof (struct fmt_spec))) { break; @@ -636,6 +642,8 @@ select_treeview_from_format_type (GtkTreeView *treeview, spec = * ((int *) g_value_get_pointer (&value)); + g_value_unset (&value); + if ( spec == fmt_type) break; }