chiark / gitweb /
bus: NULL signatures are OK too
[elogind.git] / src / libsystemd-bus / bus-objects.c
index 0c935e947d89e9e44b36c53676bd72778a474f0c..c852ad6c424a20e7baceb3f7889b7072bc033770 100644 (file)
@@ -313,7 +313,7 @@ static int invoke_property_get(
                 void *userdata) {
 
         int r;
-        void *p;
+        const void *p;
 
         assert(bus);
         assert(v);
@@ -333,9 +333,13 @@ static int invoke_property_get(
         switch (v->x.property.signature[0]) {
 
         case SD_BUS_TYPE_STRING:
-        case SD_BUS_TYPE_OBJECT_PATH:
         case SD_BUS_TYPE_SIGNATURE:
+                p = strempty(*(char**) userdata);
+                break;
+
+        case SD_BUS_TYPE_OBJECT_PATH:
                 p = *(char**) userdata;
+                assert(p);
                 break;
 
         default: