Browse Source

Fixed accepting an empty buffer (0 bytes) or less than 2 bytes which would cause a negative sized buffer (min length is 2)

Image 2 years ago
parent
commit
e0cb22bd10
1 changed files with 2 additions and 2 deletions
  1. 2 2
      EQ2/source/common/EQStreamFactory.cpp

+ 2 - 2
EQ2/source/common/EQStreamFactory.cpp

@@ -212,9 +212,9 @@ timeval sleep_time;
 
 		if (FD_ISSET(sock,&readset)) {
 #ifdef WIN32
-			if ((length=recvfrom(sock,(char*)buffer,sizeof(buffer),0,(struct sockaddr*)&from,(int *)&socklen))<0)
+			if ((length=recvfrom(sock,(char*)buffer,sizeof(buffer),0,(struct sockaddr*)&from,(int *)&socklen))<2)
 #else
-			if ((length=recvfrom(sock,buffer,2048,0,(struct sockaddr *)&from,(socklen_t *)&socklen))<0)
+			if ((length=recvfrom(sock,buffer,2048,0,(struct sockaddr *)&from,(socklen_t *)&socklen))<2)
 #endif
 			{
 				// What do we wanna do?