Udostępnij za pośrednictwem


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);
}

Zobacz też

Informacje

C6053

Inne zasoby

Omówienie adnotacji

NullTerminated