summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2013-06-04 23:37:57 +0200
committerKay Sievers <kay@vrfy.org>2013-06-04 23:37:57 +0200
commitbf30e48fe5c6a042f157804631d7d3817c8119fc (patch)
tree0a7c75b9da7a3208595f5b50ba3790d8821b7288 /src
parent311754514cd24210f9c72e0af5173d7895690e5f (diff)
bus: unmap memfd retrieved from the memfd cache
Diffstat (limited to 'src')
-rw-r--r--src/libsystemd-bus/bus-kernel.c2
-rw-r--r--src/libsystemd-bus/bus-message.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c
index ad0d573149..ffa843d5d1 100644
--- a/src/libsystemd-bus/bus-kernel.c
+++ b/src/libsystemd-bus/bus-kernel.c
@@ -729,7 +729,7 @@ int bus_kernel_pop_memfd(sd_bus *bus, void **address, size_t *size) {
return fd;
}
- c = &bus->memfd_cache[-- bus->n_memfd_cache];
+ c = &bus->memfd_cache[--bus->n_memfd_cache];
assert(c->fd >= 0);
assert(c->size == 0 || c->address);
diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c
index 77a875d4eb..760a148fad 100644
--- a/src/libsystemd-bus/bus-message.c
+++ b/src/libsystemd-bus/bus-message.c
@@ -1216,8 +1216,9 @@ static int part_make_space(
part->mapped = psz;
part->data = n;
- part->munmap_this = true;
}
+
+ part->munmap_this = true;
} else {
n = realloc(part->data, sz);
if (!n) {
@@ -2358,9 +2359,8 @@ void bus_body_part_unmap(struct bus_body_part *part) {
if (!part->data)
return;
- //FIXME: this is not set in the benchmark
- //if (!part->munmap_this)
- // return;
+ if (!part->munmap_this)
+ return;
assert_se(munmap(part->data, part->mapped) == 0);