照理应该有一个参数传缓冲区大小的。。。
【 在 du2050 (杜杜) 的大作中提到: 】
: 标 题: Re: 无聊的担心一下kbs安全性的问题~~!
: 发信站: 水木社区 (Mon Jul 25 22:49:03 2005), 转信
:
: 呵呵,你看,你改的就不如人家改的好,全篇用到usercomplete函数有多处,即便是个个都注意了开大缓存也不好
:
: 后来人还可能用错这个函数。所以人家是在函数里限制输入长度了,就好多了,以后不会用错
:
: 还有总方法,就是把你的char tmpuserid[STRLEN];放在usercomplete里实现,这样既能全行输入,又能保证不溢出,hoho
:
: 【 在 nbysy (孩子他爸) 的大作中提到: 】
: : 问题出在 mail.c 里的 set_mailgroup_key() 与 init_mailgroup() 函数
: : 把 mailgroup_t 里的 id数组直接接传给 usercomplete() 函数造成溢出, id的数组长度只有IDLEN+1, 而usercomplete()要求的长度是 STRLEN
: : 修复这个bug 可做如下修改:
: : ...................
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 218.61.75.*]
--
FROM 59.66.199.*