Share via


__security_init_cookie

更新 : 2007 年 11 月

グローバル セキュリティ Cookie を初期化します。

void __security_init_cookie(void);

解説

グローバル セキュリティ Cookie は、/GS (バッファのセキュリティ チェック) でコンパイルされるコード、および例外処理を使用するコードで、バッファ オーバーランの保護に使用されます。原則的に、オーバーランを保護する関数の入り口で Cookie がスタックに配置され、出口でスタックの値がグローバル Cookie と比較されます。2 つの Cookie が異なる場合、バッファ オーバーランが発生したため、プログラムが直ちに終了されることを示します。

通常、__security_init_cookie は起動時に CRT で呼び出されます。CRT の初期化を省略する場合 (たとえば、DLL を記述して /ENTRY でエントリ ポイントを指定する場合など)、__security_init_cookie を手動で呼び出す必要があります。

オーバーランを保護する関数を入力する前に、__security_init_cookie を呼び出す必要があります。それ以外の場合、誤ってバッファ オーバーランが検出されます。詳細については、「C ランタイム エラー R6035」を参照してください。

使用例

C ランタイム エラー R6035」の例を参照してください。

必要条件

ルーチン

必須ヘッダー

__security_init_cookie

<process.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

.NET Framework の相当するアイテム

適用できません。この関数は、マネージ コードではなく、ネイティブ コードからのみ呼び出されます。

参照

参照

Compiler Security Checks In Depth