diff --git a/dlls/sockets/sockets.cpp b/dlls/sockets/sockets.cpp index 6087dd6f..f1b5e8ff 100755 --- a/dlls/sockets/sockets.cpp +++ b/dlls/sockets/sockets.cpp @@ -149,6 +149,11 @@ static cell AMX_NATIVE_CALL socket_recv(AMX *amx, cell *params) /* 2 param */ memset(tmpchar, 0, length); // Now we recieve tmp = recv(socket, tmpchar, length-1, 0); + if (tmp == SOCKET_ERROR) + { + delete [] tmpchar; + return SOCKET_ERROR; + } // And put a copy of our recieved data into amx's string tmpchar[tmp]='\0'; int nlen = 0;