}
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) {
}
}
- 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) {
break;
case CREATE_SYMLINK: {
- char *x;
+ _cleanup_free_ char *x = NULL;
label_context_set(i->path, S_IFLNK);
r = symlink(i->argument, i->path);
}
if (!streq(i->argument, x)) {
- free(x);
log_error("%s is not the right symlinks.", i->path);
return -EEXIST;
}
- free(x);
break;
}
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;
hashmap_free(items);
hashmap_free(globs);
- strv_free(include_prefixes);
+ free(include_prefixes);
+ free(exclude_prefixes);
set_free_free(unix_sockets);