From dd32f3b3be16d84918df33413088ad9765bc9ba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 30 Apr 2024 15:43:38 +0200 Subject: [PATCH] wayland/transaction: Check surface pointer validity in _ensure_entry If a caller passes in NULL or a non-NULL value which doesn't point to a valid MetaWaylandSurface object, this will hopefully point in the direction of the cause. Part-of: --- src/wayland/meta-wayland-transaction.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/wayland/meta-wayland-transaction.c b/src/wayland/meta-wayland-transaction.c index 694ce6dbe..17d702926 100644 --- a/src/wayland/meta-wayland-transaction.c +++ b/src/wayland/meta-wayland-transaction.c @@ -485,8 +485,12 @@ meta_wayland_transaction_ensure_entry (MetaWaylandTransaction *transaction, if (entry) return entry; + g_return_val_if_fail (surface, NULL); + surface = g_object_ref (surface); + g_return_val_if_fail (surface, NULL); + entry = g_new0 (MetaWaylandTransactionEntry, 1); - g_hash_table_insert (transaction->entries, g_object_ref (surface), entry); + g_hash_table_insert (transaction->entries, surface, entry); return entry; }