From: Lennart Poettering Date: Fri, 14 Mar 2014 20:12:36 +0000 (+0100) Subject: sd-bus: don't access invalid memory if a signal matcher was freed from its own callback X-Git-Tag: v212~166 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=bbb6ff0216a7c081a2e63e01b1f121592b0165bb;ds=sidebyside sd-bus: don't access invalid memory if a signal matcher was freed from its own callback --- diff --git a/src/libsystemd/sd-bus/bus-match.c b/src/libsystemd/sd-bus/bus-match.c index 828048806..c54ca8d71 100644 --- a/src/libsystemd/sd-bus/bus-match.c +++ b/src/libsystemd/sd-bus/bus-match.c @@ -293,6 +293,9 @@ int bus_match_run( r = bus_maybe_reply_error(m, r, &error_buffer); if (r != 0) return r; + + if (bus && bus->match_callbacks_modified) + return 0; } return bus_match_run(bus, node->next, m);