bus: reassure static analysis tool that server slot allocation can't fail
authorDeepika Aggarwal <deepika.a@samsung.com>
Mon, 7 Dec 2015 11:26:06 +0000 (16:56 +0530)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 1 Jul 2016 15:42:18 +0000 (16:42 +0100)
The NULL-dereference is not actually possible in this case, because we
know that the allocation and setup were done previously.

Signed-off-by: Deepika Aggarwal <deepika.a@samsung.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93210

bus/bus.c

index fd4ab9e..9f1daa2 100644 (file)
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -90,19 +90,15 @@ server_get_context (DBusServer *server)
   BusContext *context;
   BusServerData *bd;
 
-  if (!dbus_server_allocate_data_slot (&server_data_slot))
-    return NULL;
+  /* this data slot was allocated by the BusContext */
+  _dbus_assert (server_data_slot >= 0);
 
   bd = BUS_SERVER_DATA (server);
-  if (bd == NULL)
-    {
-      dbus_server_free_data_slot (&server_data_slot);
-      return NULL;
-    }
 
-  context = bd->context;
+  /* every DBusServer in the dbus-daemon has gone through setup_server() */
+  _dbus_assert (bd != NULL);
 
-  dbus_server_free_data_slot (&server_data_slot);
+  context = bd->context;
 
   return context;
 }