Bagikan melalui


__security_init_cookie

Menginisialisasi cookie keamanan global.

Sintaks

void __security_init_cookie(void);

Keterangan

Cookie keamanan global digunakan untuk perlindungan overrun buffer dalam kode yang dikompilasi dengan /GS (Buffer Security Check) dan dalam kode yang menggunakan penanganan pengecualian. Pada entri ke fungsi yang dilindungi yang diserbu, cookie diletakkan di tumpukan, dan saat keluar, nilai pada tumpukan dibandingkan dengan cookie global. Setiap perbedaan di antara mereka menunjukkan bahwa buffer overrun telah terjadi dan menyebabkan penghentian segera program.

Biasanya, __security_init_cookie dipanggil oleh CRT ketika diinisialisasi. Jika Anda melewati inisialisasi CRT—misalnya, jika Anda menggunakan /ENTRY untuk menentukan titik masuk—maka Anda harus memanggil __security_init_cookie diri Anda sendiri. Jika __security_init_cookie tidak dipanggil, cookie keamanan global diatur ke nilai default, dan perlindungan overrun buffer disusupi. Karena penyerang dapat mengeksploitasi nilai cookie default ini untuk mengalahkan pemeriksaan overrun buffer, kami sarankan Anda selalu memanggil __security_init_cookie ketika Anda menentukan titik masuk Anda sendiri.

Panggilan ke __security_init_cookie harus dilakukan sebelum fungsi yang dilindungi yang diserbu dimasukkan; jika tidak, overrun buffer yang memuaskan akan terdeteksi. Untuk informasi selengkapnya, lihat Kesalahan Runtime C R6035.

Contoh

Lihat contoh dalam C Runtime Error R6035.

Persyaratan

Rutin Header yang diperlukan
__security_init_cookie <process.h>

__security_init_cookie adalah ekstensi Microsoft ke Pustaka Runtime C standar. Untuk informasi kompatibilitas, lihat Kompatibilitas.

Baca juga

Microsoft Security Response Center