From 6a14de6fd129c360f1cf70687d76e741af00f7eb Mon Sep 17 00:00:00 2001 From: Scoopta Date: Fri, 19 Feb 2021 21:00:40 -0800 Subject: [PATCH] The return of g_dbus_proxy_call_sync() is only freed when error is not set --- src/wofi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wofi.c b/src/wofi.c index e9258df..17510be 100644 --- a/src/wofi.c +++ b/src/wofi.c @@ -1386,12 +1386,13 @@ static gboolean focus_entry(GtkWidget* widget, GdkEvent* event, gpointer data) { if(widget == entry && dbus != NULL) { GError* err = NULL; GVariant* ret = g_dbus_proxy_call_sync(dbus, "SetVisible", g_variant_new("(b)", event->focus_change.in), G_DBUS_CALL_FLAGS_NONE, 2000, NULL, &err); - g_variant_unref(ret); if(err != NULL) { if(err->code != G_DBUS_ERROR_SERVICE_UNKNOWN) { fprintf(stderr, "Error while changing OSK state %s\n", err->message); } g_error_free(err); + } else { + g_variant_unref(ret); } } return FALSE;