systemctl: fix code path (and memory leak) on error
authorChristian Hesse <mail@eworm.de>
Fri, 27 May 2016 07:33:27 +0000 (09:33 +0200)
committerChristian Hesse <mail@eworm.de>
Fri, 27 May 2016 07:33:27 +0000 (09:33 +0200)
src/systemctl/systemctl.c

index f4cdfa9..86feefc 100644 (file)
@@ -5514,7 +5514,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) {
 
                 unit_file_dump_changes(r, verb, changes, n_changes, arg_quiet);
                 if (r < 0)
-                        return r;
+                        goto finish;
                 r = 0;
         } else {
                 _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL, *m = NULL;
@@ -5606,7 +5606,7 @@ static int enable_unit(int argc, char *argv[], void *userdata) {
 
                 r = bus_deserialize_and_dump_unit_file_changes(reply, arg_quiet, &changes, &n_changes);
                 if (r < 0)
-                        return r;
+                        goto finish;
 
                 /* Try to reload if enabled */
                 if (!arg_no_reload)