_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
(cherry picked from commit 1ce34beef8)
This commit is contained in:
Simon McVittie 2017-11-21 14:36:02 +00:00
parent a1121674a7
commit 58c9a56dbb

View file

@ -358,6 +358,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;
}