[libsecret] Don't leak ItemClosure::collection_path



commit 396d192a1fa2e36c925f5236b65b2b7f3736e076
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sat Oct 17 23:15:32 2015 +0200

    Don't leak ItemClosure::collection_path
    
    This fixes:
    ==17724== 48 bytes in 1 blocks are definitely lost in loss record 1,135 of 1,698
    ==17724==    at 0x4C28C50: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==17724==    by 0x6002FCC: g_malloc (gmem.c:94)
    ==17724==    by 0x60032AE: g_malloc_n (gmem.c:330)
    ==17724==    by 0x601DBF0: g_strdup (gstrfuncs.c:363)
    ==17724==    by 0x4E650B5: on_create_item_called (secret-paths.c:1990)
    ==17724==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
    ==17724==    by 0x5A33575: g_task_return (gtask.c:1162)
    ==17724==    by 0x5A33E76: g_task_return_pointer (gtask.c:1537)
    ==17724==    by 0x5A9BB7D: g_dbus_connection_call_done (gdbusconnection.c:5704)
    ==17724==    by 0x5A3346D: g_task_return_now (gtask.c:1104)
    ==17724==    by 0x5A334B6: complete_in_idle_cb (gtask.c:1118)
    ==17724==    by 0x5FFD3D0: g_idle_dispatch (gmain.c:5441)
    ==17724==    by 0x5FFAA18: g_main_dispatch (gmain.c:3154)
    ==17724==    by 0x5FFB85C: g_main_context_dispatch (gmain.c:3769)
    ==17724==    by 0x5FFBA40: g_main_context_iterate (gmain.c:3840)
    ==17724==    by 0x5FFBE66: g_main_loop_run (gmain.c:4034)
    ==17724==    by 0x4E55FF7: secret_service_store_sync (secret-methods.c:1281)
    ==17724==    by 0x404AC8: test_store_sync (test-methods.c:736)
    ==17724==    by 0x60258FA: test_case_run (gtestutils.c:2158)
    ==17724==    by 0x6025CBB: g_test_run_suite_internal (gtestutils.c:2241)
    ==17724==    by 0x6025D64: g_test_run_suite_internal (gtestutils.c:2253)
    ==17724==    by 0x6025F7B: g_test_run_suite (gtestutils.c:2328)
    ==17724==    by 0x6024C1C: g_test_run (gtestutils.c:1596)
    ==17724==    by 0x4E7CA68: egg_tests_run_with_loop (egg-testing.c:167)
    ==17724==    by 0x406190: main (test-methods.c:998)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=756766

 libsecret/secret-paths.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/libsecret/secret-paths.c b/libsecret/secret-paths.c
index 3ce3eee..279a16d 100644
--- a/libsecret/secret-paths.c
+++ b/libsecret/secret-paths.c
@@ -1929,6 +1929,7 @@ static void
 item_closure_free (gpointer data)
 {
        ItemClosure *closure = data;
+       g_free (closure->item_path);
        g_variant_unref (closure->properties);
        secret_value_unref (closure->value);
        g_clear_object (&closure->cancellable);


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