C6054
Warnung C6054: Die Zeichenfolge <Variable> darf nicht mit 0 (null) enden.
Diese Warnung gibt an, dass an eine Funktion, die eine mit 0 (null) endende Zeichenfolge erfordert, eine Zeichenfolge übergeben wurde, die nicht mit 0 (null) endet.Eine Funktion, die eine mit 0 (null) endende Zeichenfolge erwartet, sucht über das Ende des Puffers hinaus nach 0 (null).Dieser Fehler kann einen als Angriffspunkt geeigneten Pufferüberlauffehler oder einen Absturz verursachen.Das Programm sollte sicherstellen, dass die Zeichenfolge mit einer 0 (null) endet.
Beispiel
Der folgende Code generiert diese Warnung:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g ( )
{
wchar_t wcArray[200];
func(wcArray); // Warning C6054
}
Um diese Warnung zu korrigieren, NULL-beenden Sie wcArray vor aufrufenden Funktion func() wie im folgenden Beispielcode dargestellt:
#include <sal.h>
void func( _In_z_ wchar_t* wszStr );
void g( )
{
wchar_t wcArray[200];
wcArray[0]= '\0';
func(wcArray);
}