Я следую за «Smashing the Stack for fun and profit» http://insecure.org/stf/smashstack.html.Smashing the stack: Почему этот код работает?
Интересно, почему мой код работает, хотя я написал его, чтобы сделать ошибку сегментации.
#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;
}
Нет ли чего-то недостающего в корпусе для петли? Думаю, это своего рода неполное заявление. – junix
bcoz даже ошибка сегментации не определен в случае неопределенного поведения :) – VoidPointer
@junix неполный, но не вне допустимого диапазона –