tree-wide: use path_simplify_alloc() more

This commit is contained in:
Yu Watanabe
2023-10-07 16:00:03 +09:00
parent 86f6d32eba
commit cf3d95b25d
3 changed files with 12 additions and 15 deletions
+5 -5
View File
@@ -4935,14 +4935,14 @@ int unit_require_mounts_for(Unit *u, const char *path, UnitDependencyMask mask)
if (hashmap_contains(u->requires_mounts_for, path)) /* Exit quickly if the path is already covered. */
return 0;
_cleanup_free_ char *p = strdup(path);
if (!p)
return -ENOMEM;
/* Use the canonical form of the path as the stored key. We call path_is_normalized()
* only after simplification, since path_is_normalized() rejects paths with '.'.
* path_is_normalized() also verifies that the path fits in PATH_MAX. */
path = path_simplify(p);
_cleanup_free_ char *p = NULL;
r = path_simplify_alloc(path, &p);
if (r < 0)
return r;
path = p;
if (!path_is_normalized(path))
return -EPERM;
+3 -5
View File
@@ -581,11 +581,9 @@ static int mark_symlink_for_removal(
if (r < 0)
return r;
n = strdup(p);
if (!n)
return -ENOMEM;
path_simplify(n);
r = path_simplify_alloc(p, &n);
if (r < 0)
return r;
r = set_consume(*remove_symlinks_to, n);
if (r == -EEXIST)
+4 -5
View File
@@ -501,6 +501,7 @@ int varlink_connect_url(Varlink **ret, const char *url) {
_cleanup_free_ char *c = NULL;
const char *p;
bool exec;
int r;
assert_return(ret, -EINVAL);
assert_return(url, -EINVAL);
@@ -533,11 +534,9 @@ int varlink_connect_url(Varlink **ret, const char *url) {
if (!path_is_absolute(p))
return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Specified path not absolute, refusing.");
c = strdup(p);
if (!c)
return log_oom_debug();
path_simplify(c);
r = path_simplify_alloc(p, &c);
if (r < 0)
return r;
if (!path_is_normalized(c))
return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Specified path is not normalized, refusing.");