dbus_bus_set_unique_name, dbus_bus_get_unique_name: remember to unlock on OOM
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 1 Feb 2011 11:41:02 +0000 (11:41 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 1 Feb 2011 11:41:02 +0000 (11:41 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33126
Reviewed-by: Colin Walters <walters@verbum.org>
dbus/dbus-bus.c

index 92ec20e..8cb82eb 100644 (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;
 }