summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/systemctl/systemctl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 74af772794..c60bab4b6d 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -5753,8 +5753,11 @@ static int create_edit_temp_file(const char *new_path, const char *original_path
return log_oom();
r = mkdir_parents(new_path, 0755);
- if (r < 0)
- return log_error_errno(r, "Failed to create directories for %s: %m", new_path);
+ if (r < 0) {
+ log_error_errno(r, "Failed to create directories for %s: %m", new_path);
+ free(t);
+ return r;
+ }
r = copy_file(original_path, t, 0, 0644);
if (r == -ENOENT) {