The commit
b1bfb848046e457f3cd623286b8cc1a5e5440023 makes chase_symlinks()
recognize empty string for root as an invalid parameter. However,
empty root is often used e.g. systemd-nspawn.
This makes chase_symlinks() support empty string safely.
Fixes #7927.
* function what to do when encountering a symlink with an absolute path as directory: prefix it by the
* specified path. */
- if (original_root) {
- if (isempty(original_root)) /* What's this even supposed to mean? */
- return -EINVAL;
-
- if (path_equal(original_root, "/")) /* A root directory of "/" is identical to none */
- original_root = NULL;
- }
+ /* A root directory of "/" or "" is identical to none */
+ if (isempty(original_root) || path_equal(original_root, "/"))
+ original_root = NULL;
if (original_root) {
r = path_make_absolute_cwd(original_root, &root);