diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-02-22 13:42:22 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-02-22 16:58:13 +0100 |
commit | 19962747ca86a25e7102c536380bb2e9d7cfee9a (patch) | |
tree | 52f5e7d0f9f8ef5076fe7aec10b2cbafddfd027b /src/test/test-fs-util.c | |
parent | test: fix file descriptor leak in test-oomd-util (diff) | |
download | systemd-19962747ca86a25e7102c536380bb2e9d7cfee9a.tar.xz systemd-19962747ca86a25e7102c536380bb2e9d7cfee9a.zip |
test: fix file descriptor leak in test-fs-util
Fixes an issue reported in #22576.
Diffstat (limited to 'src/test/test-fs-util.c')
-rw-r--r-- | src/test/test-fs-util.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c index 602ce75f98..f53a3ebf59 100644 --- a/src/test/test-fs-util.c +++ b/src/test/test-fs-util.c @@ -29,10 +29,11 @@ static const char *arg_test_dir = NULL; TEST(chase_symlinks) { _cleanup_free_ char *result = NULL; + _cleanup_close_ int pfd = -1; char *temp; const char *top, *p, *pslash, *q, *qslash; struct stat st; - int r, pfd; + int r; temp = strjoina(arg_test_dir ?: "/tmp", "/test-chase.XXXXXX"); assert_se(mkdtemp(temp)); @@ -318,6 +319,7 @@ TEST(chase_symlinks) { assert_se(fstat(pfd, &st) >= 0); assert_se(S_ISLNK(st.st_mode)); result = mfree(result); + pfd = safe_close(pfd); /* s1 -> s2 -> nonexistent */ q = strjoina(temp, "/s1"); @@ -331,6 +333,7 @@ TEST(chase_symlinks) { assert_se(fstat(pfd, &st) >= 0); assert_se(S_ISLNK(st.st_mode)); result = mfree(result); + pfd = safe_close(pfd); /* Test CHASE_STEP */ |