[gnome-software] packagekit: Fix a large memory leak



commit 41f312d7b52a2d18e3743803bf760ee0df76baf5
Author: Kalev Lember <klember redhat com>
Date:   Tue Jan 2 18:47:53 2018 +0100

    packagekit: Fix a large memory leak
    
    This regressed in commit 8c739ffd075f06225a0631c5e84545a08af1d77e that
    refactored ProgressData handling.

 plugins/packagekit/gs-plugin-packagekit-refine.c   |    5 ++---
 .../packagekit/gs-plugin-packagekit-url-to-app.c   |    1 -
 plugins/packagekit/packagekit-common.h             |    1 -
 3 files changed, 2 insertions(+), 5 deletions(-)
---
diff --git a/plugins/packagekit/gs-plugin-packagekit-refine.c 
b/plugins/packagekit/gs-plugin-packagekit-refine.c
index 0c6f41b..d4de99d 100644
--- a/plugins/packagekit/gs-plugin-packagekit-refine.c
+++ b/plugins/packagekit/gs-plugin-packagekit-refine.c
@@ -172,7 +172,6 @@ gs_plugin_packagekit_refine_from_desktop (GsPlugin *plugin,
 
        data.app = app;
        data.plugin = plugin;
-       data.profile_id = g_path_get_basename (filename);
 
        to_array[0] = filename;
        results = pk_client_search_files (priv->client,
@@ -319,7 +318,6 @@ gs_plugin_packagekit_refine_details2 (GsPlugin *plugin,
        g_ptr_array_add (package_ids, NULL);
 
        data.plugin = plugin;
-       data.profile_id = g_strjoinv (",", (gchar **) package_ids->pdata);
 
        /* get any details */
        results = pk_client_get_details (priv->client,
@@ -328,8 +326,9 @@ gs_plugin_packagekit_refine_details2 (GsPlugin *plugin,
                                         gs_plugin_packagekit_progress_cb, &data,
                                         error);
        if (!gs_plugin_packagekit_results_valid (results, error)) {
+               g_autofree gchar *package_ids_str = g_strjoinv (",", (gchar **) package_ids->pdata);
                g_prefix_error (error, "failed to get details for %s: ",
-                               data.profile_id);
+                               package_ids_str);
                return FALSE;
        }
 
diff --git a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c 
b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
index 067b08e..1f3ead2 100644
--- a/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
+++ b/plugins/packagekit/gs-plugin-packagekit-url-to-app.c
@@ -65,7 +65,6 @@ gs_plugin_url_to_app (GsPlugin *plugin,
 
        data.app = app;
        data.plugin = plugin;
-       data.profile_id = path;
 
        /* only do this for apt:// on debian or debian-like distros */
        os_release = gs_os_release_new (error);
diff --git a/plugins/packagekit/packagekit-common.h b/plugins/packagekit/packagekit-common.h
index 68c71b2..1c617f8 100644
--- a/plugins/packagekit/packagekit-common.h
+++ b/plugins/packagekit/packagekit-common.h
@@ -33,7 +33,6 @@ typedef struct {
        GsApp           *app;
        GsPlugin        *plugin;
        AsProfileTask   *ptask;
-       gchar           *profile_id;
 } ProgressData;
 
 GsPluginStatus         packagekit_status_enum_to_plugin_status         (PkStatusEnum    status);


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