summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libsystemd-bus/bus-util.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libsystemd-bus/bus-util.c b/src/libsystemd-bus/bus-util.c
index da4668b86f..4c87e16726 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)