bus: avoid using m->kdbus after freeing it

m->kdbus could be freed before it is released. Changing the
order fixes the issue.

Found with Coverity. Fixes: CID#1237798
This commit is contained in:
Philippe De Swert
2014-09-11 17:09:50 +02:00
committed by David Herrmann
parent 393a5ba09f
commit fd989a0bc9
+3 -3
View File
@@ -127,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;
@@ -137,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) {