summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2011-02-01 11:41:02 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2011-02-01 11:41:02 +0000
commit743e79d1dc7c1caaf5470b881dc5bb8db03572d1 (patch)
tree96b692b2350b3da85b12e83be70af52eb768b74f
parent7480dfdb2a8f58279aab77edab85e1165a2d9120 (diff)
downloaddbus-743e79d1dc7c1caaf5470b881dc5bb8db03572d1.tar.gz
dbus_bus_set_unique_name, dbus_bus_get_unique_name: remember to unlock on OOM
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126 Reviewed-by: Colin Walters <walters@verbum.org>
-rw-r--r--dbus/dbus-bus.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c
index 92ec20ed..8cb82eb8 100644
--- a/dbus/dbus-bus.c
+++ b/dbus/dbus-bus.c
@@ -769,7 +769,7 @@ dbus_bus_set_unique_name (DBusConnection *connection,
const char *unique_name)
{
BusData *bd;
- dbus_bool_t success;
+ dbus_bool_t success = FALSE;
_dbus_return_val_if_fail (connection != NULL, FALSE);
_dbus_return_val_if_fail (unique_name != NULL, FALSE);
@@ -778,13 +778,14 @@ dbus_bus_set_unique_name (DBusConnection *connection,
bd = ensure_bus_data (connection);
if (bd == NULL)
- return FALSE;
+ goto out;
_dbus_assert (bd->unique_name == NULL);
bd->unique_name = _dbus_strdup (unique_name);
success = bd->unique_name != NULL;
-
+
+out:
_DBUS_UNLOCK (bus_datas);
return success;
@@ -812,7 +813,7 @@ const char*
dbus_bus_get_unique_name (DBusConnection *connection)
{
BusData *bd;
- const char *unique_name;
+ const char *unique_name = NULL;
_dbus_return_val_if_fail (connection != NULL, NULL);
@@ -820,12 +821,13 @@ dbus_bus_get_unique_name (DBusConnection *connection)
bd = ensure_bus_data (connection);
if (bd == NULL)
- return NULL;
+ goto out;
unique_name = bd->unique_name;
+out:
_DBUS_UNLOCK (bus_datas);
-
+
return unique_name;
}