__security_init_cookie__security_init_cookie

Inicializa la cookie de seguridad global.Initializes the global security cookie.

SintaxisSyntax

void __security_init_cookie(void);

ComentariosRemarks

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.The global security cookie is used for buffer overrun protection in code compiled with /GS (Buffer Security Check) and in code that uses exception handling. 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.On entry to an overrun-protected function, the cookie is put on the stack, and on exit, the value on the stack is compared with the global cookie. 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.Any difference between them indicates that a buffer overrun has occurred and causes immediate termination of the program.

Normalmente, el CRT llama a __security_init_cookie cuando se inicializa.Normally, __security_init_cookie is called by the CRT when it is initialized. Si omite la inicialización de CRT (por ejemplo, si usa /entry para especificar un punto de entrada), debe llamar a __security_init_cookie .If you bypass CRT initialization—for example, if you use /ENTRY to specify an entry-point—then you must call __security_init_cookie yourself. Si no se llama a __security_init_cookie , la cookie de seguridad global se establece en un valor predeterminado y se pone en peligro la protección de saturación del búfer.If __security_init_cookie is not called, the global security cookie is set to a default value and buffer overrun protection is compromised. Dado que un atacante puede aprovechar este valor de cookie predeterminado para derrotar las comprobaciones de saturación del búfer, se recomienda llamar siempre a __security_init_cookie al definir su propio punto de entrada.Because an attacker can exploit this default cookie value to defeat the buffer overrun checks, we recommend that you always call __security_init_cookie when you define your own entry point.

La llamada a __security_init_cookie debe realizarse antes de que se especifique cualquier función de protección contra saturación. de lo contrario, se detectará una saturación del búfer falsa.The call to __security_init_cookie must be made before any overrun-protected function is entered; otherwise a spurious buffer overrun will be detected. Para obtener más información, vea C Runtime Error R6035 (Error de tiempo de ejecución de C R6035).For more information, see C Runtime Error R6035.

EjemploExample

Vea los ejemplos de C Runtime Error R6035 (Error de tiempo de ejecución de C R6035).See the examples in C Runtime Error R6035.

RequisitosRequirements

RutinaRoutine Encabezado necesarioRequired header
__security_init_cookie__security_init_cookie <process.h><process.h>

__security_init_cookie es una extensión de Microsoft para la biblioteca en tiempo de ejecución estándar de C.__security_init_cookie is a Microsoft extension to the standard C Runtime Library. Para obtener información sobre la compatibilidad, vea Compatibilidad.For compatibility information, see Compatibility.

Vea tambiénSee also

Centro de respuestas de seguridad de MicrosoftMicrosoft Security Response Center