X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-unit.c;h=975fc4628984f64d67f9464c48b0eabd53f10015;hb=6ce270b10ad5538fb60dabcf409a49a9c5fd0e8d;hp=5fca7653e0b2a795f47070a531468a359aaadeb3;hpb=21586b77de9bad401f245dd55b75cedb0c2e9b7c;p=elogind.git diff --git a/src/core/dbus-unit.c b/src/core/dbus-unit.c index 5fca7653e..975fc4628 100644 --- a/src/core/dbus-unit.c +++ b/src/core/dbus-unit.c @@ -780,7 +780,7 @@ int bus_unit_queue_job( path = job_dbus_path(j); if (!path) - return r; + return -ENOMEM; return sd_bus_reply_method_return(message, "o", path); } @@ -895,6 +895,10 @@ static int bus_unit_set_transient_property( if (r < 0) return r; + r = sd_bus_message_exit_container(message); + if (r < 0) + return r; + return 1; } @@ -941,6 +945,7 @@ int bus_unit_set_properties( r = sd_bus_message_rewind(message, false); if (r < 0) return r; + for_real = true; continue; } @@ -975,6 +980,10 @@ int bus_unit_set_properties( n += for_real; } + r = sd_bus_message_exit_container(message); + if (r < 0) + return r; + if (commit && n > 0 && UNIT_VTABLE(u)->bus_commit_properties) UNIT_VTABLE(u)->bus_commit_properties(u);