C28718

警告 C28718: 注釈なしバッファー

この警告は、関数に渡されるバッファーまたは関数から返されるバッファーにソース コード注釈言語 (SAL) の注釈がない場合に報告されます。 スタティック分析ツールでは、このような注釈を使用してバッファー オーバーランを検出できます。 注釈の追加の詳細については、「C/C++ コードの欠陥を減らすための SAL 注釈の使用」を参照してください。

現時点では、非定数文字列のみがこの警告と診断されます。 関数パラメーターとして渡されるか、関数から返されるすべてのバッファーに注釈を付けるのが理想的です。 wchar_t または char の配列がこの警告の候補です。 現在、符号なし文字は含まれていません。

次のコード例では、この警告が生成されます。

int foo( LPTSTR buffer, size_t cch );  

次のコード例では、この警告は生成されません。

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

C/C++ コードの欠陥を減らすための SAL 注釈の使用