阅读 2660 次
发表时间:2011-03-13
关于下面的C语言代码片段,那个是正确的? int test(char* src) { char dest[1024] = {0}; strncpy(dest, src, strlen(src)-1); return 1; } A. 这段代码没有任何问题 B. 这段代码存在条件竞争漏洞 C. 这段代码存在栈溢出漏洞 D. 这段代码存在堆溢出漏洞 我觉得是C,src超过1024的时候可能造成拷贝到dest时的溢出,而dest是在栈上的。 各位帮忙看看是不是这样的,谢谢。 |
|
发表时间:2011-03-14
栈溢出可能
|
|
发表时间:2011-03-14
zeeeitch 写道 栈溢出可能
那答案B和C呢? |