Freigeben über


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

Siehe auch

Referenz

C6053

Weitere Ressourcen

Übersicht über Anmerkungen

NullTerminated