Sdílet prostřednictvím


__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.

Viz také

Další zdroje

Kontroly zabezpečení kompilátoru podrobně