From fb4d9bf47fcc647c3b43f0b61c6bcf0424397f03 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 11 Apr 2023 04:57:34 +0900 Subject: [PATCH] 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 63105f33edad423691e2d53bf7071f99c83799ba, these functions returned an absolute and normalized path. But the commit made the result path simply concatenated with root. Follow-up for 63105f33edad423691e2d53bf7071f99c83799ba. --- src/shared/find-esp.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/shared/find-esp.c b/src/shared/find-esp.c index 0d45249d632..6a0002a2bdf 100644 --- a/src/shared/find-esp.c +++ b/src/shared/find-esp.c @@ -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; -- 2.47.3