diff options
-rw-r--r-- | src/libsystemd/sd-bus/bus-message.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 400ba307bc..c7cb2e60bc 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -128,10 +128,11 @@ static void message_free(sd_bus_message *m) { message_reset_parts(m); if (m->release_kdbus) { - uint64_t off _alignas_(8); + struct kdbus_cmd_free cmd_free; - off = (uint8_t *)m->kdbus - (uint8_t *)m->bus->kdbus_buffer; - ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); + cmd_free.flags = 0; + cmd_free.offset = (uint8_t *)m->kdbus - (uint8_t *)m->bus->kdbus_buffer; + (void) ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &cmd_free); } if (m->free_kdbus) |