chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: fix deserialization of StartTransientUnit() parameters
[elogind.git]
/
src
/
core
/
dbus-unit.c
diff --git
a/src/core/dbus-unit.c
b/src/core/dbus-unit.c
index 5fca7653e0b2a795f47070a531468a359aaadeb3..975fc4628984f64d67f9464c48b0eabd53f10015 100644
(file)
--- 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)
path = job_dbus_path(j);
if (!path)
- return
r
;
+ return
-ENOMEM
;
return sd_bus_reply_method_return(message, "o", path);
}
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;
if (r < 0)
return r;
+ r = sd_bus_message_exit_container(message);
+ if (r < 0)
+ return r;
+
return 1;
}
return 1;
}
@@
-941,6
+945,7
@@
int bus_unit_set_properties(
r = sd_bus_message_rewind(message, false);
if (r < 0)
return r;
r = sd_bus_message_rewind(message, false);
if (r < 0)
return r;
+
for_real = true;
continue;
}
for_real = true;
continue;
}
@@
-975,6
+980,10
@@
int bus_unit_set_properties(
n += for_real;
}
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);
if (commit && n > 0 && UNIT_VTABLE(u)->bus_commit_properties)
UNIT_VTABLE(u)->bus_commit_properties(u);