C6054
Ostrzeżenie C6054: ciąg <variable> może nie być zakończony zerem
To ostrzeżenie wskazuje, że do funkcji, która wymaga ciągu zakończonego zerem przekazano ciąg zakończony wartością niezerową.Funkcja, która oczekuje ciąg zakończony zerem będzie wykraczała poza koniec buforu, aby znaleźć zero.Wada może spowodować błąd przepełnienia buforu lub awarię.Program powinien upewnić się, że ciąg kończy się zerem.
Przykład
Poniższy kod generuje to ostrzeżenie:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g ( )
{
wchar_t wcArray[200];
func(wcArray); // Warning C6054
}
Aby poprawić to ostrzeżenie, należy zakończyć wcArray wartością null, przed wywołaniem funkcji func() zgodnie z przykładowym kodem:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g( )
{
wchar_t wcArray[200];
wcArray[0]= '\0';
func(wcArray);
}