From 9c96019d3183ef93e243416f4c17334ee9108b47 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 24 Feb 2014 02:59:57 +0100 Subject: [PATCH] cgroup: parse array cgroup properties correctly when they aren't at the end of the message --- src/core/dbus-cgroup.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c index b8a77254d..775825bee 100644 --- a/src/core/dbus-cgroup.c +++ b/src/core/dbus-cgroup.c @@ -278,6 +278,10 @@ int bus_cgroup_set_property( if (r < 0) return r; + r = sd_bus_message_exit_container(message); + if (r < 0) + return r; + if (mode != UNIT_CHECK) { CGroupBlockIODeviceBandwidth *a, *next; _cleanup_free_ char *buf = NULL; @@ -356,6 +360,10 @@ int bus_cgroup_set_property( n++; } + r = sd_bus_message_exit_container(message); + if (r < 0) + return r; + if (mode != UNIT_CHECK) { _cleanup_free_ char *buf = NULL; _cleanup_fclose_ FILE *f = NULL; @@ -481,7 +489,6 @@ int bus_cgroup_set_property( a->r = !!strchr(rwm, 'r'); a->w = !!strchr(rwm, 'w'); a->m = !!strchr(rwm, 'm'); - } n++; @@ -489,6 +496,10 @@ int bus_cgroup_set_property( if (r < 0) return r; + r = sd_bus_message_exit_container(message); + if (r < 0) + return r; + if (mode != UNIT_CHECK) { _cleanup_free_ char *buf = NULL; _cleanup_fclose_ FILE *f = NULL; -- 2.30.2