Sdílet prostřednictvím


C6054

upozornění C6054: řetězec <variable> nemusí být zakončená nulou

Toto upozornění znamená ukončení řetězec funkci, která vyžaduje řetězec zakončený nulou byl předán než nula.Funkce, která očekává řetězec zakončený nulou přejde za konec vyrovnávací paměti hledat nula.Tato vada může způsobit chyby zneužít přetečení vyrovnávací paměti nebo selhání.Program měli ujistit, že řetězec končí na nulu.

Příklad

Následující kód vygeneruje toto upozornění:

#include <sal.h>

void func( _In_z_ wchar_t* wszStr );

void g ( )
{
    wchar_t wcArray[200];
    func(wcArray); // Warning C6054
}

Opravit toto varování, null ukončení wcArray před voláním funkce func() jak je uvedeno v následujícím ukázkovém kódu:

#include <sal.h>

void func( _In_z_ wchar_t* wszStr );

void g( )
{
    wchar_t wcArray[200]; 
    wcArray[0]= '\0';
    func(wcArray);
}

Viz také

Referenční dokumentace

C6053

Další zdroje

Přehled poznámek

NullTerminated