diff options
author | Simon McVittie <smcv@collabora.com> | 2023-08-18 14:55:32 +0000 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2023-08-18 14:55:32 +0000 |
commit | 73093fb3bce6d5b5cf1606d67367e67b79022631 (patch) | |
tree | a9cd8a32fae1db859360f2dd7f2eb6b86e1aab3d | |
parent | 337879274691169ae4b6a13b1c0af128b986ba16 (diff) | |
parent | 63522f2887878e6b9e40c9bb6742484679631ea9 (diff) |
Merge branch 'issue343-minimal' into 'master'
bus: Don't crash if bus_context_create_client_policy() fails
Closes #343
See merge request dbus/dbus!435
-rw-r--r-- | bus/connection.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/bus/connection.c b/bus/connection.c index 4d46992c..e3d876e4 100644 --- a/bus/connection.c +++ b/bus/connection.c @@ -1662,22 +1662,26 @@ bus_connections_reload_policy (BusConnections *connections, link; link = _dbus_list_get_next_link (&(connections->completed), link)) { + BusClientPolicy *policy; + connection = link->data; d = BUS_CONNECTION_DATA (connection); _dbus_assert (d != NULL); _dbus_assert (d->policy != NULL); - bus_client_policy_unref (d->policy); - d->policy = bus_context_create_client_policy (connections->context, - connection, - error); - if (d->policy == NULL) + policy = bus_context_create_client_policy (connections->context, + connection, + error); + if (policy == NULL) { _dbus_verbose ("Failed to create security policy for connection %p\n", connection); _DBUS_ASSERT_ERROR_IS_SET (error); return FALSE; } + + bus_client_policy_unref (d->policy); + d->policy = policy; } return TRUE; |