__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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk