mirror of
https://github.com/moparisthebest/curl
synced 2024-11-11 20:15:03 -05:00
sockfilt.c: free memory in case of memory allocation errors
This commit is contained in:
parent
ee6791128f
commit
eb01947e1d
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user