X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fbus-message.c;h=c7cb2e60bc1579caa6781cbf455242d7bc1aae1f;hb=53e9dbcdfbae355aae8edb79d49e50a0ec3912d5;hp=400ba307bc9bc05113386dce4afafde915b294fc;hpb=ca794c8e9583eb660f535af32c8c8281a284f270;p=elogind.git diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 400ba307b..c7cb2e60b 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)