C28718

警告 C28718:未注释的缓冲区

当传递给函数或函数返回的缓冲区没有源代码注释语言 (SAL) 注释时,将报告此警告。 静态分析工具可以使用此类注释来检测缓冲区溢出。 有关添加注释的信息,请参阅 使用 SAL 注释减少 C/C++ 代码缺陷

目前,只有非常量字符串缓冲区被诊断为此警告。 理想情况下,应批注作为函数参数传递或函数返回的所有缓冲区。 wchar_tchar 数组是此警告的候选项。 未签名的字符当前不是。

示例

下面的代码示例生成此警告。

int foo( LPTSTR buffer, size_t cch );  

下面的代码示例避免了此警告。

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

使用 SAL 注释减少 C/C++ 代码缺陷