From: Yu Watanabe Date: Mon, 9 Jan 2023 01:52:30 +0000 (+0900) Subject: tmpfile: fix resource leak X-Git-Tag: v253-rc1~154^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8a555dcbf776886cbfbafe1ee9c7482d81d11378;p=thirdparty%2Fsystemd.git tmpfile: fix resource leak Fixes CID#1501687. --- diff --git a/src/tmpfiles/offline-passwd.c b/src/tmpfiles/offline-passwd.c index 4ffed1c1023..085286e9921 100644 --- a/src/tmpfiles/offline-passwd.c +++ b/src/tmpfiles/offline-passwd.c @@ -11,13 +11,14 @@ DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR(uid_gid_hash_ops, char, string_hash_ static int open_passwd_file(const char *root, const char *fname, FILE **ret_file) { _cleanup_free_ char *p = NULL, *bn = NULL; _cleanup_close_ int fd = -EBADF; + _cleanup_fclose_ FILE *f = NULL; int r; fd = chase_symlinks_and_open(fname, root, CHASE_PREFIX_ROOT, O_RDONLY|O_CLOEXEC, &p); if (fd < 0) return fd; - FILE *f = fdopen(fd, "r"); + f = fdopen(fd, "r"); if (!f) return -errno; @@ -29,7 +30,7 @@ static int open_passwd_file(const char *root, const char *fname, FILE **ret_file log_debug("Reading %s entries from %s...", bn, p); - *ret_file = f; + *ret_file = TAKE_PTR(f); return 0; }