阅读 2659 次
发表时间: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呢?
Global site tag (gtag.js) - Google Analytics