X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-util.c;h=4c87e167264d12c8c3b4ca709e365b2b1b3dec6a;hb=2b49a4704109e7417da82bdf1e3cb13c0f347b5b;hp=da4668b86f32839086d240e6a766ee0ed9255368;hpb=919ce0b7affc6fbd68598b709faf477f56c22ac1;p=elogind.git diff --git a/src/libsystemd-bus/bus-util.c b/src/libsystemd-bus/bus-util.c index da4668b86..4c87e1672 100644 --- a/src/libsystemd-bus/bus-util.c +++ b/src/libsystemd-bus/bus-util.c @@ -212,8 +212,12 @@ int bus_verify_polkit( } r = sd_bus_message_enter_container(reply, 'r', "bba{ss}"); - if (r >= 0) - r = sd_bus_message_read(reply, "bb", &authorized, &challenge); + if (r < 0) + return r; + + r = sd_bus_message_read(reply, "bb", &authorized, &challenge); + if (r < 0) + return r; if (authorized) return 1; @@ -997,6 +1001,8 @@ int bus_map_all_properties(sd_bus *bus, r = prop->set(bus, member, m, &error, v); else r = map_basic(bus, member, m, &error, v); + if (r < 0) + return r; r = sd_bus_message_exit_container(m); if (r < 0)