summaryrefslogtreecommitdiff
path: root/src/machine
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2023-03-28 10:44:46 +0200
committerDavid Tardon <dtardon@redhat.com>2023-04-11 15:31:50 +0200
commitffddb3c94576da9f5864c1bc48b6fb297ee6aa28 (patch)
tree87d16511c45139d502ee562dd2fbd470c0bf6ac8 /src/machine
parent2a711edd87e960a28b1c87e701522e05408426ed (diff)
downloadsystemd-ffddb3c94576da9f5864c1bc48b6fb297ee6aa28.tar.gz
machinectl: use CLEANUP_ARRAY
Diffstat (limited to 'src/machine')
-rw-r--r--src/machine/machinectl.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c
index 6a29a32bcd..aa915cf1fb 100644
--- a/src/machine/machinectl.c
+++ b/src/machine/machinectl.c
@@ -1763,6 +1763,8 @@ static int enable_machine(int argc, char *argv[], void *userdata) {
sd_bus *bus = ASSERT_PTR(userdata);
int r;
+ CLEANUP_ARRAY(changes, n_changes, install_changes_free);
+
polkit_agent_open_if_enabled(arg_transport, arg_ask_password);
method = streq(argv[0], "enable") ? "EnableUnitFiles" : "DisableUnitFiles";
@@ -1824,39 +1826,30 @@ static int enable_machine(int argc, char *argv[], void *userdata) {
r = bus_deserialize_and_dump_unit_file_changes(reply, arg_quiet, &changes, &n_changes);
if (r < 0)
- goto finish;
+ return r;
r = bus_call_method(bus, bus_systemd_mgr, "Reload", &error, NULL, NULL);
- if (r < 0) {
- log_error("Failed to reload daemon: %s", bus_error_message(&error, r));
- goto finish;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to reload daemon: %s", bus_error_message(&error, r));
if (arg_now) {
_cleanup_strv_free_ char **new_args = NULL;
new_args = strv_new(streq(argv[0], "enable") ? "start" : "poweroff");
- if (!new_args) {
- r = log_oom();
- goto finish;
- }
+ if (!new_args)
+ return log_oom();
r = strv_extend_strv(&new_args, argv + 1, /* filter_duplicates = */ false);
- if (r < 0) {
- log_oom();
- goto finish;
- }
+ if (r < 0)
+ return log_oom();
if (streq(argv[0], "enable"))
- r = start_machine(strv_length(new_args), new_args, userdata);
+ return start_machine(strv_length(new_args), new_args, userdata);
else
- r = poweroff_machine(strv_length(new_args), new_args, userdata);
+ return poweroff_machine(strv_length(new_args), new_args, userdata);
}
-finish:
- install_changes_free(changes, n_changes);
-
- return r;
+ return 0;
}
static int match_log_message(sd_bus_message *m, void *userdata, sd_bus_error *error) {