X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-objects.c;h=7cd34c991b004f389c06656e37d1e9eca20fb251;hp=05a62f4a3ec6eb61883332af53b5aa25a636230e;hb=6717d473506800363af9d2bafbf263ee054e856d;hpb=99f37ad86e114b2d1c9eaedf2bc1a0004a265d26 diff --git a/src/libsystemd-bus/bus-objects.c b/src/libsystemd-bus/bus-objects.c index 05a62f4a3..7cd34c991 100644 --- a/src/libsystemd-bus/bus-objects.c +++ b/src/libsystemd-bus/bus-objects.c @@ -312,6 +312,11 @@ static int method_callbacks_run( "Invalid arguments '%s' to call %s.%s(), expecting '%s'.", signature, c->interface, c->member, strempty(c->vtable->x.method.signature)); + /* Keep track what the signature of the reply to this message + * should be, so that this can be enforced when sealing the + * reply. */ + m->enforced_reply_signature = strempty(c->vtable->x.method.result); + if (c->vtable->x.method.handler) { r = c->vtable->x.method.handler(bus, m, u, &error); return bus_maybe_reply_error(m, r, &error);