Add proper cleanup of resources (file descriptors and address info) in error paths to prevent resource leaks.
Signed-off-by: Cong Liu liucong2@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;