]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
_dbus_server_new_for_socket: Invalidate watches during error unwinding
authorSimon McVittie <smcv@collabora.com>
Tue, 21 Nov 2017 14:36:02 +0000 (14:36 +0000)
committerSimon McVittie <smcv@collabora.com>
Fri, 24 Nov 2017 12:17:24 +0000 (12:17 +0000)
We assert that every watch is invalidated before it is freed, but
in some OOM code paths this didn't happen.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89104

dbus/dbus-server-socket.c

index 04ab05f7363ac0a904f2ad73628f223cee202ebb..b5179be6a7ef5a6b3577ddda8e0f214c431f726c 100644 (file)
@@ -356,6 +356,7 @@ _dbus_server_new_for_socket (DBusSocket       *fds,
     {
       if (socket_server->watch[i] != NULL)
         {
+          _dbus_watch_invalidate (socket_server->watch[i]);
           _dbus_watch_unref (socket_server->watch[i]);
           socket_server->watch[i] = NULL;
         }