aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2024-10-08 16:50:12 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2024-10-14 17:34:09 +0400
commit244d52ff736fefc3dd364ed091720aa896af306d (patch)
tree659d5dde7e2d35ce17b0fe1e3b8666de8aa41fc3
parent6d6e23361fc732e4fe36a8bc5873b85f264ed53a (diff)
downloadqemu-244d52ff736fefc3dd364ed091720aa896af306d.zip
qemu-244d52ff736fefc3dd364ed091720aa896af306d.tar.gz
qemu-244d52ff736fefc3dd364ed091720aa896af306d.tar.bz2
ui/dbus: fix leak on message filtering
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>
-rw-r--r--ui/dbus-listener.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ui/dbus-listener.c b/ui/dbus-listener.c
index a54123a..434bd60 100644
--- a/ui/dbus-listener.c
+++ b/ui/dbus-listener.c
@@ -1001,6 +1001,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;
}