Static Analyis for bench_htab_mem.c with cppcheck:error
tools/testing/selftests/bpf/benchs/bench_htab_mem.c:284:3:
error: Resource leak: fd [resourceLeak]
tools/testing/selftests/bpf/prog_tests/sk_assign.c:41:3:
error: Resource leak: tc [resourceLeak]

fix the issue  by closing the file descriptor (fd & tc) when
read & fgets operation fails.

Signed-off-by: Malaya Kumar Rout <malayarou...@gmail.com>
---
 tools/testing/selftests/bpf/benchs/bench_htab_mem.c | 1 +
 tools/testing/selftests/bpf/prog_tests/sk_assign.c  | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/benchs/bench_htab_mem.c 
b/tools/testing/selftests/bpf/benchs/bench_htab_mem.c
index 926ee822143e..59746fd2c23a 100644
--- a/tools/testing/selftests/bpf/benchs/bench_htab_mem.c
+++ b/tools/testing/selftests/bpf/benchs/bench_htab_mem.c
@@ -281,6 +281,7 @@ static void htab_mem_read_mem_cgrp_file(const char *name, 
unsigned long *value)
        got = read(fd, buf, sizeof(buf) - 1);
        if (got <= 0) {
                *value = 0;
+               close(fd);
                return;
        }
        buf[got] = 0;
diff --git a/tools/testing/selftests/bpf/prog_tests/sk_assign.c 
b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
index 0b9bd1d6f7cc..10a0ab954b8a 100644
--- a/tools/testing/selftests/bpf/prog_tests/sk_assign.c
+++ b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
@@ -37,8 +37,10 @@ configure_stack(void)
        tc = popen("tc -V", "r");
        if (CHECK_FAIL(!tc))
                return false;
-       if (CHECK_FAIL(!fgets(tc_version, sizeof(tc_version), tc)))
+       if (CHECK_FAIL(!fgets(tc_version, sizeof(tc_version), tc))) {
+               pclose(tc);
                return false;
+       }
        if (strstr(tc_version, ", libbpf "))
                prog = "test_sk_assign_libbpf.bpf.o";
        else
-- 
2.43.0


Reply via email to