chiark / gitweb /
bus: add support for adding memfds into message payload
[elogind.git] / src / libsystemd-bus / bus-kernel.c
index 81469365f0ffdbd3ecae743e80a26feee3425d15..54a5e1691cc8b934520e1b9593e2ecd8b345e958 100644 (file)
@@ -486,10 +486,11 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k, sd_bus_mess
                                         part->data = UINT64_TO_PTR(d->vec.address);
                                         part->size = d->vec.size;
                                 } else {
-                                        part->data = (uint8_t*) UINT64_TO_PTR(d->vec.address) + (begin_body - idx);
+                                        part->data = d->vec.address != 0 ? (uint8_t*) UINT64_TO_PTR(d->vec.address) + (begin_body - idx) : NULL;
                                         part->size = d->vec.size - (begin_body - idx);
                                 }
 
+                                part->is_zero = d->vec.address == 0;
                                 part->sealed = true;
                         }