浏览代码

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 年之前
父节点
当前提交
e0cb22bd10
共有 1 个文件被更改,包括 2 次插入2 次删除
  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?