summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/bus-match.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsystemd-bus/bus-match.c')
-rw-r--r--src/libsystemd-bus/bus-match.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsystemd-bus/bus-match.c b/src/libsystemd-bus/bus-match.c
index 01434b33b5..501a38df70 100644
--- a/src/libsystemd-bus/bus-match.c
+++ b/src/libsystemd-bus/bus-match.c
@@ -251,6 +251,10 @@ int bus_match_run(
node->leaf.last_iteration = bus->iteration_counter;
}
+ r = sd_bus_message_rewind(m, true);
+ if (r < 0)
+ return r;
+
/* Run the callback. And then invoke siblings. */
assert(node->leaf.callback);
r = node->leaf.callback(bus, ret, m, node->leaf.userdata);