summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2023-08-18 14:55:32 +0000
committerSimon McVittie <smcv@collabora.com>2023-08-18 14:55:32 +0000
commit73093fb3bce6d5b5cf1606d67367e67b79022631 (patch)
treea9cd8a32fae1db859360f2dd7f2eb6b86e1aab3d
parent337879274691169ae4b6a13b1c0af128b986ba16 (diff)
parent63522f2887878e6b9e40c9bb6742484679631ea9 (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.c14
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;