test: fix file descriptor leak in test-psi-util
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 22 Feb 2022 12:46:41 +0000 (21:46 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 10 Mar 2022 12:54:30 +0000 (12:54 +0000)
Fixes an issue reported in #22576.

(cherry picked from commit be99883e131ef422f8278ec1d099520996a78bb0)
(cherry picked from commit 81d3e2abff5f4234e06ceb6590d0c9939d8d97b4)

src/test/test-psi-util.c

index c636cf255bf0f04ae03bb68b8bba487cb0c1c065..026f6aa1ab935410fd9d06037075cbc7ad55a9b0 100644 (file)
@@ -3,19 +3,22 @@
 #include <linux/loadavg.h>
 
 #include "alloc-util.h"
+#include "fd-util.h"
 #include "fileio.h"
 #include "fs-util.h"
 #include "psi-util.h"
 #include "tests.h"
+#include "tmpfile-util.h"
 
 static void test_read_mem_pressure(void) {
         _cleanup_(unlink_tempfilep) char path[] = "/tmp/pressurereadtestXXXXXX";
+        _cleanup_close_ int fd = -1;
         ResourcePressure rp;
 
         if (geteuid() != 0)
                 return (void) log_tests_skipped("not root");
 
-        assert_se(mkstemp(path));
+        assert_se((fd = mkostemp_safe(path)) >= 0);
 
         assert_se(read_resource_pressure("/verylikelynonexistentpath", PRESSURE_TYPE_SOME, &rp) < 0);
         assert_se(read_resource_pressure(path, PRESSURE_TYPE_SOME, &rp) < 0);