find-esp: use path_prefix_root_cwd()

Unlikely, but even if find_esp() or friends called with unnormalized or
relative 'root', let's make the result path normalized and absolute.

Note, before 63105f33ed, these functions
returned an absolute and normalized path. But the commit made the result
path simply concatenated with root.

Follow-up for 63105f33ed.
This commit is contained in:
Yu Watanabe
2023-04-11 06:27:11 +09:00
parent 75cc8d7c42
commit fb4d9bf47f
+6 -10
View File
@@ -540,11 +540,9 @@ int find_esp_and_warn(
return r;
if (ret_path) {
char *q = path_join(empty_to_root(root), p);
if (!q)
return -ENOMEM;
*ret_path = TAKE_PTR(q);
r = path_prefix_root_cwd(p, root, ret_path);
if (r < 0)
return r;
}
if (ret_part)
*ret_part = part;
@@ -861,11 +859,9 @@ int find_xbootldr_and_warn(
return r;
if (ret_path) {
char *q = path_join(empty_to_root(root), p);
if (!q)
return -ENOMEM;
*ret_path = TAKE_PTR(q);
r = path_prefix_root_cwd(p, root, ret_path);
if (r < 0)
return r;
}
if (ret_uuid)
*ret_uuid = uuid;