__security_init_cookie
Inicializuje soubor cookie globálního zabezpečení.
Syntaxe
void __security_init_cookie(void);
Poznámky
Globální soubor cookie zabezpečení se používá pro ochranu proti přetečení vyrovnávací paměti v kódu zkompilovaném pomocí /GS (kontrola zabezpečení vyrovnávací paměti) a v kódu, který používá zpracování výjimek. Při vstupu do funkce chráněné proti přetečení se soubor cookie umístí do zásobníku a při ukončení se hodnota v zásobníku porovná s globálním souborem cookie. Jakýkoli rozdíl mezi nimi znamená, že došlo k přetečení vyrovnávací paměti a způsobí okamžité ukončení programu.
__security_init_cookie
CrT je obvykle volána při inicializaci. Pokud vynecháte inicializaci CRT , například pokud použijete /ENTRY
k zadání vstupního bodu, musíte volat __security_init_cookie
sami sobě. Pokud __security_init_cookie
není volána, globální soubor cookie zabezpečení je nastavený na výchozí hodnotu a ochrana před přetečením vyrovnávací paměti je ohrožena. Protože útočník může zneužít tuto výchozí hodnotu souboru cookie k porazit kontroly přetečení vyrovnávací paměti, doporučujeme, abyste vždy volali __security_init_cookie
při definování vlastního vstupního bodu.
Volání __security_init_cookie
musí být provedeno před vstupem jakékoli funkce chráněné proti přetečení. Jinak se zjistí přetečení vyrovnávací paměti. Další informace naleznete v tématu Chyba modulu C Runtime R6035.
Příklad
Podívejte se na příklady v chybě modulu C Runtime R6035.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
__security_init_cookie |
<process.h> |
__security_init_cookie
je rozšíření Microsoftu pro standardní knihovnu modulu C Runtime. Informace o kompatibilitě najdete v tématu Kompatibilita.