C6054
Aviso C6054: string <variável>pode não ser terminada em zero
Este aviso indica que uma função que requer a seqüência terminada em zero foi passada diferente de zero encerrado seqüência de caracteres.Uma função que espera uma seqüência de caracteres terminada em zero será vão além do participante do buffer para procurar o zero.Esse defeito pode causar um erro de saturação de buffer explorável ou falhar.O programa deve se certificar de que a seqüência de caracteres termina com um zero.
Exemplo
O código a seguir gera este aviso:
#include<codeanalysis\sourceannotations.h>
using namespace vc_attributes;
void f ([Pre(NullTerminated=Yes)] wchar_t* v);
void g ( )
{
wchar_t v[200];
f(v); // C6054 - v is not "null-terminated" before the call to f
}
Para corrigir esse aviso, nulo-terminar v antes de chamar a função f sistema autônomo mostra o código de exemplo a seguir:
void g( )
{
wchar_t v[200];
v[0]= '\0';
f(v);
}