Condividi tramite


__security_init_cookie

Inizializza il cookie di sicurezza globale.

Sintassi

void __security_init_cookie(void);

Osservazioni:

Il cookie di sicurezza globale viene usato per la protezione da sovraccarico del buffer nel codice compilato con /GS (Controllo sicurezza buffer) e nel codice che usa la gestione delle eccezioni. All'ingresso in una funzione protetta da sovraccarico, il cookie viene inserito nello stack e, all'uscita, il valore presente nello stack viene confrontato con il cookie globale. Eventuali differenze tra di essi indicano che si è verificato un sovraccarico del buffer causando l'interruzione immediata del programma.

In genere, __security_init_cookie viene chiamato da CRT quando viene inizializzato. Se si ignora l'inizializzazione CRT, ad esempio se si usa /ENTRY per specificare un punto di ingresso, è necessario chiamare __security_init_cookie se stessi. Se __security_init_cookie non viene chiamato, il cookie di sicurezza globale viene impostato su un valore predefinito e la protezione del sovraccarico del buffer viene compromessa. Poiché un utente malintenzionato può sfruttare questo valore del cookie predefinito per aggirare i controlli di sovraccarico del buffer, si consiglia di chiamare sempre __security_init_cookie quando si definisce un punto di ingresso.

La chiamata a __security_init_cookie deve essere eseguita prima dell'immissione di qualsiasi funzione protetta da sovraccarico; in caso contrario, verrà rilevato un sovraccarico del buffer non corretto. Per altre informazioni, vedere Errore di run-time C R6035.

Esempio

Vedere gli esempi in Errore di run-time C R6035.

Requisiti

Ciclo Intestazione obbligatoria
__security_init_cookie <process.h>

__security_init_cookie è un'estensione Microsoft della libreria di runtime C standard. Per informazioni sulla compatibilità, vedere Compatibilità.

Vedi anche

Microsoft Security Response Center