荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (pq), 信区: InstallBBS
标 题: FB3活动看板一行过长产生掉线的BUG及解决 zdh (转寄)
发信站: 荔园晨风BBS站 (Thu Nov 29 06:44:43 2001), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjksam@smth.org 所发表 】
发信人: fishchen (小瑜鱼), 信区: BBSMan_Dev
标 题: FB3活动看板一行过长产生掉线的BUG及解决 zdh (转寄)
发信站: BBS 水木清华站 (Thu Nov 8 13:21:31 2001)
EEFB3活动看板一行过长产生掉线的BUG及解决
现象: 活动看板若一行超过特定长度后,当查看到这个活动看板时会有掉线现象.
原因: FB3对这个没有保护机制,造成对内存的非法读操作(溢出啦)
参考解决方法:
1.定义活动看板每行最大长度.
在bbs.h中的这一行:
#define ACBOARD_BUFSIZE 150 // 数字即为最大长度
2.在more.c中
函数NNread_init()
原:
char buf[ACBOARD_BUFSIZE], buf2[ACBOARD_BUFSIZE + 10];
原:(约102行左右)
if (flag == 0) {
strcpy(buf2, "K");
strcat(buf2, buf);
}
memcpy(ptr, buf2, sizeof(buf2));
改为:
if (flag == 0) {
strcpy(buf2, "K");
strcat(buf2, buf);
}
buf2[ACBOARD_BUFSIZE-1] = '\0';
memcpy(ptr, buf2, ACBOARD_BUFSIZE);
其实解决方法有很多的啦...问题原因跟buf和buf2的声明有很大的关系,
总之不要让它对内存乱弄就OK了
--
fish_chen
E-mail:fish_cyt@163.net
※ 修改:·fishchen 於 Nov 8 13:21:50 修改本文·[FROM: 211.66.114.93]
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.66.114.93]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店