Bagikan melalui


C28718

peringatan C28718: Buffer tanpa anotasi

Peringatan ini dilaporkan ketika buffer yang diteruskan ke fungsi atau dikembalikan oleh fungsi tidak memiliki anotasi Source Code Annotation Language (SAL). Alat analisis statis dapat menggunakan anotasi tersebut untuk mendeteksi overrun buffer. Untuk informasi tentang menambahkan anotasi, lihat Menggunakan Anotasi SAL untuk Mengurangi Cacat Kode C/C++.

Saat ini, hanya buffer string non-konstanta yang didiagnosis dengan peringatan ini. Idealnya, semua buffer yang diteruskan sebagai parameter fungsi atau dikembalikan oleh fungsi harus diberi anotasi. Array wchar_t atau karakter adalah kandidat untuk peringatan ini. Karakter yang tidak ditandatangani saat ini tidak.

Contoh

Contoh kode berikut menghasilkan peringatan ini.

int foo( LPTSTR buffer, size_t cch );  

Contoh kode berikut menghindari peringatan ini.

int foo( _Out_writes_(cch) LPTSTR buffer, size_t cch );

Menggunakan Anotasi SAL untuk Mengurangi Cacat Kode C/C++