]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ui/dbus: fix leak on message filtering
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 8 Oct 2024 12:50:12 +0000 (16:50 +0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Fri, 8 Nov 2024 10:02:57 +0000 (13:02 +0300)
A filter function that wants to drop a message should return NULL, in
which case it must also unref the message itself.

Fixes: fa88b85de ("ui/dbus: filter out pending messages when scanout")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-4-marcandre.lureau@redhat.com>
(cherry picked from commit 244d52ff736fefc3dd364ed091720aa896af306d)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ui/dbus-listener.c

index 4a0a5d78f937096d2f6fa09141aa3f47e95736ff..83140f602ddd61a209203cacea08e85b48c6fd1b 100644 (file)
@@ -996,6 +996,7 @@ dbus_filter(GDBusConnection *connection,
     serial = g_dbus_message_get_serial(message);
     if (serial <= ddl->out_serial_to_discard) {
         trace_dbus_filter(serial, ddl->out_serial_to_discard);
+        g_object_unref(message);
         return NULL;
     }