⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bugs-2001-0205.txt

📁 一个C语言的聊天室源代码
💻 TXT
字号:
Bugs Report

2000/02/05	网友syn123报告有时候在执行AntiTimeout操作时,发生schat当掉的事情
		经过跟踪查看发现是在AddWords()里面的下列语句在设计时考虑不周,代码不够健壮
		
		if( id==NULL )
		{
			sprintf(&buf1[strlen(buf1)],"[系统信息]");
		}
		else
		{
			sprintf(&buf1[strlen(buf1)],"<a href=\"javascript:SelectUser(%s)\">%s</a>",id,GetNN(id));
		}
		if( toid==NULL )
		{
			sprintf(&buf2[strlen(buf2)],"大家");
		}
		else
		{
			sprintf(&buf2[strlen(buf2)],"<a href=\"javascript:SelectUser(%s)\">%s</a>",toid,GetNN(toid));
		}
		if( id==NULL )
		{
			sprintf(buf,"%s%s\n",buf1,msg);
		}
		else
		{
			sprintf(buf3,"%s%s%s%s\n",buf1,sysinfo.face[face],sysinfo.action[action],msg);
			sprintf(buf,buf3,buf2);
		}
		
		这里没有考虑到strlen(id)==0和strlen(toid)==0的情况。
		系统在调用GetNN函数时出现了问题,导致退出
		同时发现Get??()系列函数有严重漏洞,Get??()函数总是假设传给它的数据总是能找到。
		没有判断是否到达链表的结尾,所以出现了问题。

		现在发布的新版本修正了AddWords(),Get??()函数

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -