История изменений
Исправление X512, (текущая версия) :
но вылететь за память, отведенную стеку так просто не получится.
Легко:
void Do()
{
int buf[1000000];
buf[0] = 1;
}
Если компилятор не вставляет проверку переполнения стека, то возможно перепрыгивание защитной страницы в начале стека и обращение к памяти перед началом стека.
Напомню что стек растёт в сторону уменьшения адресов и заканчивается защитной страницей для отлова переполнения стека.
Исходная версия X512, :
но вылететь за память, отведенную стеку так просто не получится.
Легко:
void Do()
{
int buf[1000000];
buf[0] = 1;
}
Если компилятор не вставляет проверку переполнения стека, то возможно перепрыгивание защитной страницы в начале стека и обращение к памяти перед началом стека.