В чем смысл растущего стека, в чем смысл записывать переменные стека в восходящем направлении? Например, если у меня есть char buf [200], скажем, по адресу памяти 0x400. Когда я пишу в этот массив, я буду писать от 0x400 до 0x600, что относится к предыдущим кадрам стека. Это делает программу уязвимой для переполнений буфера, которые могут контролировать программу, перезаписывая указатели возврата и т. Д. Так почему бы просто не записать массив от 0x600 до 0x400?