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