X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftmpfiles%2Ftmpfiles.c;h=6e36dc79ddd9bf738cb221a63dd78ce8aa8a64ca;hb=099524d7b0df690e3361ffc3fe3c6aed0558b4fc;hp=dde7d33f9ef2c2e8ae6330114d067429df8579f0;hpb=818156512411835a4a7f070e6fec3d7b80e1f629;p=elogind.git diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index dde7d33f9..6e36dc79d 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -436,8 +436,6 @@ finish: } static int item_set_perms_full(Item *i, const char *path, bool ignore_enoent) { - int r; - /* not using i->path directly because it may be a glob */ if (i->mode_set) if (chmod(path, i->mode) < 0) { @@ -458,8 +456,7 @@ static int item_set_perms_full(Item *i, const char *path, bool ignore_enoent) { } } - r = label_fix(path, false, false); - return r == -ENOENT && ignore_enoent ? 0 : r; + return label_fix(path, ignore_enoent, false); } static int item_set_perms(Item *i, const char *path) { @@ -734,7 +731,7 @@ static int create_item(Item *i) { break; case CREATE_SYMLINK: { - char *x; + _cleanup_free_ char *x = NULL; label_context_set(i->path, S_IFLNK); r = symlink(i->argument, i->path); @@ -754,12 +751,10 @@ static int create_item(Item *i) { } if (!streq(i->argument, x)) { - free(x); log_error("%s is not the right symlinks.", i->path); return -EEXIST; } - free(x); break; } @@ -1346,12 +1341,12 @@ static int parse_argv(int argc, char *argv[]) { break; case ARG_PREFIX: - if (strv_extend(&include_prefixes, optarg) < 0) + if (strv_push(&include_prefixes, optarg) < 0) return log_oom(); break; case ARG_EXCLUDE_PREFIX: - if (strv_extend(&exclude_prefixes, optarg) < 0) + if (strv_push(&exclude_prefixes, optarg) < 0) return log_oom(); break; @@ -1511,7 +1506,8 @@ finish: hashmap_free(items); hashmap_free(globs); - strv_free(include_prefixes); + free(include_prefixes); + free(exclude_prefixes); set_free_free(unix_sockets);