Я читал книгу о переполнении буфера, и предлагаю дальше разобраться с:
Making the stack (and heap) non-executable provides a high degree of protection against many types of buffer overflow attacks for existing programs.
Но я не понимаю, как мы можем сделать это -, где будет происходить выполнение, если не в куче или в стеке?