-fstack-check
: Si dos macros de características STACK_CHECK_BUILTIN
y STACK_CHECK_STATIC_BUILTIN
se dejan en el valor por defecto 0, sólo se inserta un byte nulo cada 4 kb (página) cuando la pila crece. Por defecto, solo uno, pero cuando la pila puede crecer más de una página, que es el caso más peligroso, cada 4 KB. Linux> 2.6 solo tiene una pequeña brecha de página entre la pila y el montón, lo que puede provocar ataques de acumulación de pila, conocidos desde 2005. Consulte What exception is raised in C by GCC -fstack-check option para el ensamblaje. Está habilitado en gcc al menos desde 2.95.3, en clang desde 3.6.
__stack_chk_fail
es el código insertado -fstack-protector
que verifica un valor canary pila insertado que podría sobrescribirse por un simple desbordamiento de pila, p. por recursión.
¿Puedes elaborar con algunos ejemplos de código y salida? –
Esto no tiene nada que ver con su error. Ver mi respuesta a continuación – rurban