You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
2 years ago
|
From 3ca37c58cb3ff022e029b28539fd2e3b208802fd Mon Sep 17 00:00:00 2001
|
||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||
|
Date: Tue, 22 Feb 2022 21:42:22 +0900
|
||
|
Subject: [PATCH] test: fix file descriptor leak in test-fs-util
|
||
|
|
||
|
Fixes an issue reported in #22576.
|
||
|
|
||
|
(cherry picked from commit 19962747ca86a25e7102c536380bb2e9d7cfee9a)
|
||
|
Related: #2087652
|
||
|
---
|
||
|
src/test/test-fs-util.c | 5 ++++-
|
||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||
|
|
||
|
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 */
|
||
|
|