X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fbus-message.c;h=bfb14fcce613d409f3fe375381bde3cabb91ac9a;hp=c058b06f41b473dfbe43327ba987328f2a97fd13;hb=fd989a0bc999d79719408ac28b126d9c9016bcb5;hpb=1ac36c67dd4d3fb5b73939293673fcd6debae699 diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index c058b06f4..bfb14fcce 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -28,6 +28,7 @@ #include "strv.h" #include "time-util.h" #include "cgroup-util.h" +#include "memfd.h" #include "sd-bus.h" #include "bus-message.h" @@ -126,9 +127,6 @@ static void message_free(sd_bus_message *m) { message_reset_parts(m); - if (m->free_kdbus) - free(m->kdbus); - if (m->release_kdbus) { uint64_t off; @@ -136,6 +134,9 @@ static void message_free(sd_bus_message *m) { ioctl(m->bus->input_fd, KDBUS_CMD_FREE, &off); } + if (m->free_kdbus) + free(m->kdbus); + sd_bus_unref(m->bus); if (m->free_fds) {