From eb01947e1d9fa1aea35ab3383f1213502606431e Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Sun, 20 Apr 2014 18:22:28 +0200 Subject: sockfilt.c: free memory in case of memory allocation errors --- tests/server/sockfilt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index ae17e9c1e..a15baeb7f 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -562,6 +562,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, /* allocate internal array for the internal event handles */ handles = malloc(nfds * sizeof(HANDLE)); if(handles == NULL) { + free(fdarr); errno = ENOMEM; return -1; } @@ -569,6 +570,8 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, /* allocate internal array for the internal socket handles */ wsasocks = malloc(nfds * sizeof(curl_socket_t)); if(wsasocks == NULL) { + free(handles); + free(fdarr); errno = ENOMEM; return -1; } @@ -576,6 +579,9 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, /* allocate internal array for the internal WINSOCK2 events */ wsaevents = malloc(nfds * sizeof(WSAEVENT)); if(wsaevents == NULL) { + free(wsasocks); + free(handles); + free(fdarr); errno = ENOMEM; return -1; } -- cgit v1.2.3