chiark / gitweb /
systemctl: fix a leak
[elogind.git] / src / systemctl / systemctl.c
index 74af7727941f94fdf48a34a2c97ccf0286643c64..c60bab4b6d8a720359442cd2439d63b27461679d 100644 (file)
@@ -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) {