From 331fc532c3486ac9433fb31858c437a6b3b26d45 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 18 Oct 2000 20:16:03 +0000 Subject: [PATCH] Fixed socket leak. --- src/sbbs3/ftpsrvr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 73f183ff89..6010165b7b 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -816,6 +816,9 @@ static void filexfer(SOCKADDR_IN* addr, SOCKET ctrl_sock, SOCKET pasv_sock, SOCK } *inprogress=TRUE; + if(*data_sock!=INVALID_SOCKET) + close_socket(data_sock,__LINE__); + if(pasv_sock==INVALID_SOCKET) { /* !PASV */ if((*data_sock=socket(AF_INET, SOCK_STREAM, IPPROTO_IP)) == INVALID_SOCKET) { @@ -846,6 +849,7 @@ static void filexfer(SOCKADDR_IN* addr, SOCKET ctrl_sock, SOCKET pasv_sock, SOCK if(tmpfile) remove(filename); *inprogress=FALSE; + close_socket(data_sock,__LINE__); return; } @@ -858,6 +862,7 @@ static void filexfer(SOCKADDR_IN* addr, SOCKET ctrl_sock, SOCKET pasv_sock, SOCK if(tmpfile) remove(filename); *inprogress=FALSE; + close_socket(data_sock,__LINE__); return; } if(startup->options&FTP_OPT_DEBUG_DATA) -- GitLab