C6054
C6054 de aviso: a cadeia de caracteres <variable> não pode ser finalizada zero
Este aviso indica que uma função que requer a cadeia de caracteres zero finalizada foi passada uma cadeia de caracteres finalizada diferente de zero.Uma função que espera uma cadeia de caracteres zero finalizada irá além do final do buffer procurar o zero.Este empecilho pode causar um erro aproveitável de estouro de buffer ou falhar.O programa deve certificar-se que a cadeia de caracteres termina com um zero.
Exemplo
o seguinte código gera este aviso:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g ( )
{
wchar_t wcArray[200];
func(wcArray); // Warning C6054
}
Para corrigir este aviso, NULL- finalizar wcArray antes de função de chamada func() conforme mostrado no código de exemplo a seguir:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g( )
{
wchar_t wcArray[200];
wcArray[0]= '\0';
func(wcArray);
}