The requested resources should be closed before return in main(), otherwise
resource leak will occur. Add a check of cgfd before close().

Fixes: 5ecd8c22739b ("selftests/bpf: Selftest for bpf_skb_ancestor_cgroup_id")
Signed-off-by: Ma Ke <mak...@iscas.ac.cn>
---
 tools/testing/selftests/bpf/test_skb_cgroup_id_user.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/test_skb_cgroup_id_user.c 
b/tools/testing/selftests/bpf/test_skb_cgroup_id_user.c
index ed518d075d1d..f84faddd72e6 100644
--- a/tools/testing/selftests/bpf/test_skb_cgroup_id_user.c
+++ b/tools/testing/selftests/bpf/test_skb_cgroup_id_user.c
@@ -176,7 +176,8 @@ int main(int argc, char **argv)
 err:
        err = -1;
 out:
-       close(cgfd);
+       if (cgfd >= 0)
+               close(cgfd);
        cleanup_cgroup_environment();
        printf("[%s]\n", err ? "FAIL" : "PASS");
        return err;
-- 
2.25.1


Reply via email to