From eb9b2de7786dc70edd28240cd5774c7ae93fa6bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Fri, 25 Nov 2016 02:50:00 +0100 Subject: [PATCH] agent: don't clear "error", g_simple_async_result_take_error() overtakes it From valgrind: ==21921== Invalid free() / delete / delete[] / realloc() ==21921== at 0x4C2CD5A: free (vg_replace_malloc.c:530) ==21921== by 0x81C4F2D: g_free (gmem.c:189) ==21921== by 0x81AB021: g_error_free (gerror.c:491) ==21921== by 0x81AB325: g_clear_error (gerror.c:674) ==21921== by 0x767B555: reg_request_cb (nm-secret-agent-old.c:616) ==21921== by 0x7A211F2: g_task_return_now (gtask.c:1107) ==21921== by 0x7A21228: complete_in_idle_cb (gtask.c:1121) ==21921== by 0x81BF6B9: g_main_dispatch (gmain.c:3154) ==21921== by 0x81BF6B9: g_main_context_dispatch (gmain.c:3769) ==21921== by 0x81BFA6F: g_main_context_iterate.isra.29 (gmain.c:3840) ==21921== by 0x81BFB1B: g_main_context_iteration (gmain.c:3901) ==21921== by 0x7A4748C: g_application_run (gapplication.c:2381) ==21921== by 0x118AEF: main (main.c:81) It caused memory corruption and may result in strange nm-applet crashes. (cherry picked from commit 544f7d36838b46826098e1d2711e299a802380d1) --- libnm/nm-secret-agent-old.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libnm/nm-secret-agent-old.c b/libnm/nm-secret-agent-old.c index 02a3f685ca..5f9ca216a4 100644 --- a/libnm/nm-secret-agent-old.c +++ b/libnm/nm-secret-agent-old.c @@ -613,7 +613,6 @@ reg_request_cb (GObject *proxy, if (!nmdbus_agent_manager_call_register_finish (NMDBUS_AGENT_MANAGER (proxy), result, &error)) g_dbus_error_strip_remote_error (error); reg_result (self, simple, error); - g_clear_error (&error); } static void