Информация, которую вы ищете, не существует, вы несете ответственность за ее отслеживание.
Обнаружение переполнения буфера не проверяет доступ за пределами "массива".- - это без массива.Вместо этого он использует случайное значение, добавленное после выделенной памяти в стеке.В эпилоге функции он проверяет, все ли там значение - и, если нет, убивает весь процесс.
Защита от переполнения буфера для stackalloc в .Net
Нет необходимостискажем, это не гарантирует, что вы не страдаете от переполнения буфера (или недостаточного значения, что является главной проблемой здесь).Он просто пытается ограничить свое потенциальное воздействие.В сочетании с сохранением stackalloc
локальных объектов CED в как можно меньших функциях это служит довольно простым, но все же довольно эффективным, предотвращением выполнения вредоносного кода.Вы все еще можете перезаписать (или прочитать) другие локальные объекты, но вы не можете перезаписать, например, указатель возврата функции.