[gnome-software/gnome-3-22] snap: Fix leak of GsApp



commit 4faac0b8ba73e10de34c634e5b36581105bfc68d
Author: Robert Ancell <robert ancell canonical com>
Date:   Fri Sep 29 11:19:19 2017 -0400

    snap: Fix leak of GsApp

 src/plugins/gs-plugin-snap.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/src/plugins/gs-plugin-snap.c b/src/plugins/gs-plugin-snap.c
index 3a7b35c..ec34bd7 100644
--- a/src/plugins/gs-plugin-snap.c
+++ b/src/plugins/gs-plugin-snap.c
@@ -228,8 +228,8 @@ gs_plugin_add_popular (GsPlugin *plugin,
                return FALSE;
 
        for (i = 0; i < json_array_get_length (snaps); i++) {
-               JsonObject *snap = json_array_get_object_element (snaps, i);
-               gs_app_list_add (list, snap_to_app (plugin, snap));
+               g_autoptr(GsApp) app = snap_to_app (plugin, json_array_get_object_element (snaps, i));
+               gs_app_list_add (list, app);
        }
 
        return TRUE;
@@ -253,13 +253,15 @@ gs_plugin_add_installed (GsPlugin *plugin,
 
        for (i = 0; i < json_array_get_length (snaps); i++) {
                JsonObject *snap = json_array_get_object_element (snaps, i);
+               g_autoptr(GsApp) app = NULL;
                const gchar *status;
 
                status = json_object_get_string_member (snap, "status");
                if (g_strcmp0 (status, "active") != 0)
                        continue;
 
-               gs_app_list_add (list, snap_to_app (plugin, snap));
+               app = snap_to_app (plugin, snap);
+               gs_app_list_add (list, app);
        }
 
        return TRUE;
@@ -282,8 +284,8 @@ gs_plugin_add_search (GsPlugin *plugin,
                return FALSE;
 
        for (i = 0; i < json_array_get_length (snaps); i++) {
-               JsonObject *snap = json_array_get_object_element (snaps, i);
-               gs_app_list_add (list, snap_to_app (plugin, snap));
+               g_autoptr(GsApp) app = snap_to_app (plugin, json_array_get_object_element (snaps, i));
+               gs_app_list_add (list, app);
        }
 
        return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]