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.
46 lines
1.5 KiB
46 lines
1.5 KiB
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 */ |
|
|
|
|