__security_init_cookie

Inicializa la cookie de seguridad global.

Sintaxis

void __security_init_cookie(void);

Comentarios

La cookie de seguridad global se usa para la protección de saturación del búfer en el código compilado con /GS (Comprobación de seguridad del búfer) y en el código que usa el control de excepciones. En la entrada a una función con protección de saturación, la cookie se coloca en la pila y, en la salida, el valor de la pila se compara con la cookie global. Cualquier diferencia en la comparación indica que se ha producido una saturación del búfer y da lugar a la finalización inmediata del programa.

Normalmente, el CRT llama a __security_init_cookie al inicializarse. Si se omite la inicialización de CRT (por ejemplo, si usa /ENTRY para especificar un punto de entrada), deberá llamar a __security_init_cookie. Si __security_init_cookie no se llama a , la cookie de seguridad global se establece en un valor predeterminado y la protección contra saturación del búfer está en peligro. Dado que un atacante puede aprovechar este valor de cookie predeterminado para invalidar las comprobaciones de saturación del búfer, se recomienda que llame siempre a __security_init_cookie al definir su propio punto de entrada.

La llamada a __security_init_cookie se debe hacer antes de especificar ninguna función de protección contra saturación, ya que de lo contrario se detecta una saturación del búfer falsa. Para obtener más información, vea C Runtime Error R6035 (Error de tiempo de ejecución de C R6035).

Ejemplo

Vea los ejemplos de C Runtime Error R6035 (Error de tiempo de ejecución de C R6035).

Requisitos

Routine Encabezado necesario
__security_init_cookie <process.h>

__security_init_cookie es una extensión de Microsoft de la biblioteca estándar en tiempo de ejecución de C. Para obtener información sobre la compatibilidad, consulte Compatibilidad.

Consulte también

Centro de respuestas de seguridad de Microsoft