From 13c299d3a8603db8fdfc715eaea69ce5acd7aecb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 15 May 2013 01:36:09 +0200 Subject: [PATCH 1/1] bus: minor fixes --- src/libsystemd-bus/bus-message.c | 3 +++ src/libsystemd-bus/bus-socket.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c index 5783140cf..721dafe38 100644 --- a/src/libsystemd-bus/bus-message.c +++ b/src/libsystemd-bus/bus-message.c @@ -3568,6 +3568,9 @@ int bus_message_seal(sd_bus_message *m, uint64_t serial) { if (m->n_containers > 0) return -EBADMSG; + if (m->poisoned) + return -ESTALE; + /* If there's a non-trivial signature set, then add it in here */ if (!isempty(m->root_container.signature)) { r = message_append_field_signature(m, SD_BUS_MESSAGE_HEADER_SIGNATURE, m->root_container.signature, NULL); diff --git a/src/libsystemd-bus/bus-socket.c b/src/libsystemd-bus/bus-socket.c index 4dafe1fdb..4a0786915 100644 --- a/src/libsystemd-bus/bus-socket.c +++ b/src/libsystemd-bus/bus-socket.c @@ -72,7 +72,7 @@ static int append_iovec(sd_bus_message *m, const void *p, size_t sz) { static int bus_message_setup_iovec(sd_bus_message *m) { struct bus_body_part *part; - unsigned n; + unsigned n, i; int r; assert(m); @@ -102,7 +102,7 @@ static int bus_message_setup_iovec(sd_bus_message *m) { return r; } - for (part = &m->body; part && part->size > 0; part = part->next) { + for (i = 0, part = &m->body; i < m->n_body_parts; i++, part = part->next) { r = append_iovec(m, part->data, part->size); if (r < 0) return r; -- 2.30.2