C6054
警告 C6054: 字串 <variable> 可能不是以零結尾
這個警告表示將非零結尾的字串傳遞給需要以零結尾之字串的函式。需要以零結尾之字串的函式會搜尋到緩衝區的結尾,以尋找零。這項缺失可能會造成可利用的緩衝區滿溢錯誤或損毀。程式應該確定字串是以零結尾。
範例
下列程式碼將產生出這個警告:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g ( )
{
wchar_t wcArray[200];
func(wcArray); // Warning C6054
}
若要更正這個警告,請在呼叫函式 func() 之前,以 null 結束 wcArray,如下列範例程式碼所示:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g( )
{
wchar_t wcArray[200];
wcArray[0]= '\0';
func(wcArray);
}