Add proper cleanup of resources (file descriptors and address info)
in error paths to prevent resource leaks.

Signed-off-by: Cong Liu <liuco...@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_connect.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.c 
b/tools/testing/selftests/net/mptcp/mptcp_connect.c
index 4d4ea4627daa..e82fde0411b2 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.c
@@ -1271,8 +1271,13 @@ int main_loop(void)
        }
 
        ret = copyfd_io(fd_in, fd, 1, 0, &winfo);
-       if (ret)
+       if (ret) {
+               close(fd);
+               if (cfg_input)
+                       close(fd_in);
+               freeaddrinfo(peer);
                return ret;
+       }
 
        if (cfg_truncate > 0) {
                xdisconnect(fd, peer->ai_addrlen);
@@ -1291,6 +1296,7 @@ int main_loop(void)
                goto again;
        } else {
                close(fd);
+               freeaddrinfo(peer);
        }
 
        return 0;
-- 
2.43.0


Reply via email to