X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus-cgroup.c;h=792f37eef588e8ac5add4d38283b5fc2dc7b57a5;hb=336c6e4690ea017a11799aa331ffedd4c59a31ad;hp=39865a96da7d0e5e44c7fed2b163222ed17581ea;hpb=610f780cd6186073cb7cfe4b5287c261cec7495a;p=elogind.git diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c index 39865a96d..792f37eef 100644 --- a/src/core/dbus-cgroup.c +++ b/src/core/dbus-cgroup.c @@ -321,10 +321,9 @@ int bus_cgroup_set_property( if (r < 0) return r; - while (( r = sd_bus_message_read(message, "(st)", &path, &u64)) > 0) { - unsigned long ul; + while ((r = sd_bus_message_read(message, "(st)", &path, &u64)) > 0) { + unsigned long ul = u64; - ul = (unsigned long) u64; if (ul < 10 || ul > 1000) return sd_bus_error_set_errnof(error, EINVAL, "BlockIODeviceWeight out of range"); @@ -484,6 +483,8 @@ int bus_cgroup_set_property( n++; } + if (r < 0) + return r; if (mode != UNIT_CHECK) { _cleanup_free_ char *buf = NULL;