daemon: Fix memory leak in freeing ui request
authorAmarnath Valluri <amarnath.valluri@linux.intel.com>
Tue, 13 Aug 2013 08:01:15 +0000 (11:01 +0300)
committerAmarnath Valluri <amarnath.valluri@linux.intel.com>
Tue, 13 Aug 2013 08:01:15 +0000 (11:01 +0300)
src/daemon/gsignond-signonui-proxy.c

index 6827d4f..80cb8aa 100644 (file)
@@ -180,15 +180,16 @@ _query_dialog_cb_internal (GSignondSignonuiProxy *proxy, GSignondSignonuiData *u
 {
     _UIQueryRequest *req = proxy->priv->active_request;
 
+    proxy->priv->active_request = NULL;
     if (req && req->cb && G_OBJECT(req->caller)) {
         req->cb (ui_data, error, req->userdata);
-        _ui_query_request_free (req);
-        proxy->priv->active_request = NULL;
     }
     else if (error) {
         WARN ("UI-Error: %s", error->message);
         g_error_free (error);
     }
+
+    if (req) _ui_query_request_free (req);
     if (ui_data) gsignond_signonui_data_unref (ui_data);
 
     _process_next_request (proxy);