Описание тега fortify-source

FORTIFY_SOURCE - это функция безопасности GCC и GLIBC, которая пытается обнаружить определенные классы переполнения буфера. Он включен по умолчанию на большинстве платформ Linux.

FORTIFY_SOURCE - это функция безопасности GCC и GLIBC, которая пытается обнаружить определенные классы переполнения буфера. Он включен по умолчанию на большинстве платформ Linux.

При использовании параметра FORTIFY_SOURCE компилятор вставляет код для вызова "более безопасных" вариантов небезопасных функций, если компилятор может определить размер целевого буфера. К небезопасным функциям относятся memcpy, mempcpy, memmove, memset, stpcpy, strcpy, strncpy, strcat, strncat, sprintf, snprintf, vsprintf, vsnprintf и gets.

Опцию можно отключить с помощью -D_FORTIFY_SOURCE=0 или -U_FORTIFY_SOURCE. Однако обычно не следует отключать FORTIFY_SOURCE в производственном ПО.

Якуб Елинек предоставил патч GCC для FORTIFY_SOURCE еще в 2004 году. Документация для _FORTIFY_SOURCE находится на странице руководства "макрос проверки функций".