我正在关注“为了乐趣和利润而粉碎堆栈” http://insecure.org/stf/smashstack.html。
我想知道为什么我的代码可以正常工作,尽管我编写它是为了造成分段错误。
#include <stdio.h>
#include <string.h>
void function(char *str){
char buffer[16];
strcpy(buffer, str);
}
int main(void)
{
char large_string[256];
int i;
for(i = 0; i < 255; i++)
large_string[i];
function(large_string);
return 0;
}