__security_init_cookie
Inicializuje globální zabezpečení souboru cookie.
void __security_init_cookie(void);
Poznámky
Globální zabezpečení souboru cookie se používá pro ochranu přetečení vyrovnávací paměti v kódu zkompilovaného s /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ý přetečení souboru cookie, který je umístěn v zásobníku a při ukončení, je hodnota v zásobníku porovnána s globální souboru cookie.Případný rozdíl mezi nimi označuje, že došlo k přetečení vyrovnávací paměti a způsobí, že okamžité ukončení programu.
Za normálních okolností __security_init_cookie je volána metodou CRT při inicializaci.Je-li přeskočit inicializaci CRT – například, pokud použijete /Entry Chcete-li určit vstupní bod – pak je třeba volat __security_init_cookie sami.Pokud __security_init_cookie není volán, globální zabezpečení souboru cookie je nastavena na výchozí hodnotu a ohrožení bezpečnosti ochrany přetečení vyrovnávací paměti.Vzhledem k tomu, že se zlými úmysly může zneužít tuto výchozí hodnotu souboru cookie do jaké míry kontroly přetečení vyrovnávací paměti, doporučujeme, aby vždy volat __security_init_cookie při definování vlastní vstupního bodu.
Volání __security_init_cookie musí být provedeny předtím, než jsou zadány všechny funkce chráněný přetečení; v opačném případě bude zjištěn přetečení nesprávné vyrovnávací paměti.Další informace naleznete v tématu Chyba za běhu R6035 jazyka C.
Příklad
Viz příklady v Chyba za běhu R6035 jazyka C.
Požadavky
Rutina |
Požadovaný hlavičkový soubor |
---|---|
__security_init_cookie |
< process.h > |
__security_init_cookieje společnost Microsoft rozšíření pro standardní C Runtime Library.Informace o kompatibilitě, naleznete v části Kompatibilita.
Ekvivalent v rozhraní .NET Framework
Nelze použít. Tuto funkci lze volat pouze z nativního kódu, není spravovaný kód.