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>
This commit is contained in:
Simon McVittie 2011-02-01 11:41:02 +00:00
parent 7480dfdb2a
commit 743e79d1dc

View file

@ -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;
}