From: Lennart Poettering Date: Mon, 26 Mar 2018 17:22:16 +0000 (+0200) Subject: dissect: port code to chase_symlinks_and_open() X-Git-Tag: v239~438^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36952d19191054e62df3b122bf58f5fe27870d0f;p=thirdparty%2Fsystemd.git dissect: port code to chase_symlinks_and_open() --- diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c index 7af59422b27..11c792f4a88 100644 --- a/src/shared/dissect-image.c +++ b/src/shared/dissect-image.c @@ -1286,18 +1286,14 @@ int dissected_image_acquire_metadata(DissectedImage *m) { fds[2*k] = safe_close(fds[2*k]); NULSTR_FOREACH(p, paths[k]) { - _cleanup_free_ char *q = NULL; - - r = chase_symlinks(p, t, CHASE_PREFIX_ROOT|CHASE_TRAIL_SLASH, &q); - if (r < 0) - continue; - - fd = open(q, O_RDONLY|O_CLOEXEC|O_NOCTTY); + fd = chase_symlinks_and_open(p, t, CHASE_PREFIX_ROOT, O_RDONLY|O_CLOEXEC|O_NOCTTY, NULL); if (fd >= 0) break; } - if (fd < 0) + if (fd < 0) { + log_debug_errno(fd, "Failed to read %s file of image, ignoring: %m", paths[k]); continue; + } r = copy_bytes(fd, fds[2*k+1], (uint64_t) -1, 0); if (r < 0)