summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2012-09-16 12:55:28 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2012-09-16 16:20:06 +0200
commitd8831ed55442cfe0a3ca54644282a7c27d26f1b0 (patch)
tree393399d1e3ca466221fb6b7f2da9b11babefaa13
parentd5891fdacf761130c9babdb5e50367504d29970c (diff)
install: use automatic cleanup
-rw-r--r--src/shared/install.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/shared/install.c b/src/shared/install.c
index 0d38bccd72..c6215fbb32 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -541,7 +541,7 @@ static int find_symlinks_in_scope(
UnitFileState *state) {
int r;
- char *path;
+ char _cleanup_free_ *path = NULL;
bool same_name_link_runtime = false, same_name_link = false;
assert(scope >= 0);
@@ -556,8 +556,6 @@ static int find_symlinks_in_scope(
return r;
r = find_symlinks(name, path, &same_name_link_runtime);
- free(path);
-
if (r < 0)
return r;
else if (r > 0) {
@@ -572,8 +570,6 @@ static int find_symlinks_in_scope(
return r;
r = find_symlinks(name, path, &same_name_link);
- free(path);
-
if (r < 0)
return r;
else if (r > 0) {
@@ -603,7 +599,8 @@ int unit_file_mask(
UnitFileChange **changes,
unsigned *n_changes) {
- char **i, *prefix;
+ char **i;
+ char _cleanup_free_ *prefix;
int r;
assert(scope >= 0);
@@ -614,7 +611,7 @@ int unit_file_mask(
return r;
STRV_FOREACH(i, files) {
- char *path;
+ char _cleanup_free_ *path = NULL;
if (!unit_name_is_valid(*i, true)) {
if (r == 0)
@@ -631,16 +628,13 @@ int unit_file_mask(
if (symlink("/dev/null", path) >= 0) {
add_file_change(changes, n_changes, UNIT_FILE_SYMLINK, path, "/dev/null");
- free(path);
continue;
}
if (errno == EEXIST) {
- if (null_or_empty_path(path) > 0) {
- free(path);
+ if (null_or_empty_path(path) > 0)
continue;
- }
if (force) {
unlink(path);
@@ -650,7 +644,6 @@ int unit_file_mask(
add_file_change(changes, n_changes, UNIT_FILE_UNLINK, path, NULL);
add_file_change(changes, n_changes, UNIT_FILE_SYMLINK, path, "/dev/null");
- free(path);
continue;
}
}
@@ -661,12 +654,8 @@ int unit_file_mask(
if (r == 0)
r = -errno;
}
-
- free(path);
}
- free(prefix);
-
return r;
}