主题:一篇讲memory overflow导致被攻击的文章 -- yueyu
一眼看过去起码有好多个错误
1.new之后没有检查是否成功
2.f2没检查是否null pointer
3. 没有检查长度有没有超过12
。。。
class a
{http://www.ccthere.com/topic/2031545/1
public:
a(void)
{...
} http://www.ccthere.com/topic/2031545/1
f1(void)
{...
}
f2(char *pBuf)http://www.ccthere.com/topic/2031545/1
{
strcpy(&c1[0], pBuf);
}
private:http://www.ccthere.com/topic/2031545/1
char c1[12];
}
ff2(char *pC1)http://www.ccthere.com/topic/2031545/1
{
a *p_a0 = new a();
a *p_a1 = new a();
p_a0->f2(pC1);http://www.ccthere.com/topic/2031545/1
p_a1->f1();
...
delete p_a0;
delete p_a1; http://www.ccthere.com/topic/2031545/1
}
- 相关回复 上下关系8
压缩 2 层
🙂好说好说 美人他爹 字64 2009-02-17 15:30:54
🙂问题是安全问题是一个无穷递归式的问题 2 yueyu 字392 2009-02-16 17:59:22
🙂俺给你一段类C码,你给俺找找漏子。 3 素里太守 字319 2009-02-16 18:28:04
🙂一眼看过去起码有好多个错误
🙂改用strncpy吧,呵呵 博客南 字76 2009-02-17 20:50:42
🙂这是C++,不是C。所以,咱是看不懂喽。 呵呵 投入 字0 2009-02-17 18:37:23
🙂呵呵,俺说的是"类C"码,不是纯C码。 素里太守 字14 2009-02-17 18:47:06
🙂此题可以作为笔试考题用 邓侃 字39 2009-02-17 07:08:15