diff options
author | Simon McVittie <smcv@collabora.com> | 2017-11-21 14:36:02 +0000 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2017-11-24 12:17:24 +0000 |
commit | 1ce34beef85a7a0b3c25890837e3a72f8bdac1f0 (patch) | |
tree | b2a428e62ef66afcce9875d710944a57b220baea | |
parent | fa123560d33a2f90b2ee9927aa4cb610f4fa85f1 (diff) |
_dbus_server_new_for_socket: Invalidate watches during error unwinding
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
-rw-r--r-- | dbus/dbus-server-socket.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/dbus/dbus-server-socket.c b/dbus/dbus-server-socket.c index 04ab05f73..b5179be6a 100644 --- a/dbus/dbus-server-socket.c +++ b/dbus/dbus-server-socket.c @@ -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; } |