diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-03-26 19:22:16 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-03-29 15:33:12 +0200 |
commit | 36952d19191054e62df3b122bf58f5fe27870d0f (patch) | |
tree | 7b3a08eb32ad65f13e95983d0f9bf44508009c1b /src/shared/dissect-image.c | |
parent | 21c692e9bf8c81437b9aa3a7d37c88d7fca0997d (diff) | |
download | systemd-36952d19191054e62df3b122bf58f5fe27870d0f.tar.gz |
dissect: port code to chase_symlinks_and_open()
Diffstat (limited to 'src/shared/dissect-image.c')
-rw-r--r-- | src/shared/dissect-image.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c index 7af59422b2..11c792f4a8 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) |