第11期 <千里之堤毁于蚁穴> 的作者请进来了。

cvsuser 2003-11-21 11:08:34
请看这段代码
//nLeftBytes为负数的时候已经跳出循环了,怎么还会去执行
while(nLeftBytes>0) {
if(strstr((const char*)lpBuffer,"\r\n.\r\n"))
break;
nResult=recr(hSock,(char*)lpBuffer+nRecvBytes,nLeftBytes,0);
if......
}
...全文
31 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wraithkings 2003-11-26
  • 打赏
  • 举报
回复
他的错误不是nLeftBytes会小于0,而是lpBuffer指针修正的问题,可能会出现缓冲区溢出。毛病出在lpBuffer+nRecvBytes,nRecvBytes应该是缓冲区剩余空间。
cvsuser 2003-11-23
  • 打赏
  • 举报
回复
http://www.boxmm.com/index.asp?page=2&classid=4&Nclassid=46&order=&updown=

6,905

社区成员

发帖
与我相关
我的任务
社区描述
《新程序员》读者俱乐部
其他 其他
社区管理员
  • 《程序员》杂志社区
  • SoftwareTeacher
  • 《新程序员》编辑部
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧