From ce60828b9e04a614dde7e0af1a9ab94f6f3fcdd1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 1 Jun 2021 20:52:44 +0200 Subject: [PATCH] media-keys: Do not access GVariant before error checks This may trigger asserts and crashes down the line. --- plugins/media-keys/gsd-media-keys-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c index 1b3ff38..c4aef34 100644 --- a/plugins/media-keys/gsd-media-keys-manager.c +++ b/plugins/media-keys/gsd-media-keys-manager.c @@ -442,8 +442,6 @@ grab_accelerators_complete (GObject *object, GsdMediaKeysManager *manager = user_data; ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (object), result, &error); - g_variant_get (ret, "(@au)", &actions); - g_variant_unref (ret); if (error) { retry = g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD); @@ -454,6 +452,10 @@ grab_accelerators_complete (GObject *object, g_error_free (error); } else { int i; + + g_variant_get (ret, "(@au)", &actions); + g_variant_unref (ret); + for (i = 0; i < manager->priv->keys->len; i++) { MediaKey *key; -- 2.31.1