Udostępnij przez


__security_init_cookie

Inicjuje globalny plik cookie zabezpieczeń.

Składnia

void __security_init_cookie(void);

Uwagi

Globalny plik cookie zabezpieczeń jest używany do ochrony przed przekroczeniem buforu w kodzie skompilowanym za pomocą /GS (sprawdzanie zabezpieczeń buforu) i w kodzie korzystającym z obsługi wyjątków. Po wejściu do funkcji chronionej przez przekroczenie plik cookie jest umieszczany na stosie, a po wyjściu wartość na stosie jest porównywana z globalnym plikiem cookie. Każda różnica między nimi wskazuje, że wystąpiło przekroczenie buforu i powoduje natychmiastowe zakończenie programu.

__security_init_cookie Zwykle jest wywoływany przez CRT, gdy jest inicjowany. Jeśli pominiesz inicjację CRT — na przykład jeśli używasz /ENTRY do określenia punktu wejścia , musisz wywołać __security_init_cookie siebie. Jeśli __security_init_cookie nie zostanie wywołana, globalny plik cookie zabezpieczeń zostanie ustawiony na wartość domyślną, a ochrona przed przekroczeniem buforu zostanie naruszona. Ponieważ osoba atakująca może wykorzystać tę domyślną wartość pliku cookie w celu pokonania kontroli przekroczenia buforu, zalecamy, aby zawsze wywoływać __security_init_cookie wywołanie podczas definiowania własnego punktu wejścia.

Wywołanie musi __security_init_cookie zostać wykonane przed wejściem jakiejkolwiek funkcji chronionej przed przekroczeniem. W przeciwnym razie zostanie wykryte fałszywe przepełnienie buforu. Aby uzyskać więcej informacji, zobacz Błąd czasu wykonania języka C R6035.

Przykład

Zobacz przykłady w artykule Błąd czasu wykonania języka C R6035.

Wymagania

Procedura Wymagany nagłówek
__security_init_cookie <process.h>

__security_init_cookie to rozszerzenie firmy Microsoft do standardowej biblioteki środowiska uruchomieniowego języka C. Aby uzyskać informacje o zgodności, zobacz Zgodność.

Zobacz też

Centrum zabezpieczeń firmy Microsoft