Partager via


C6054

Avertissement C6054 : la chaîne <variable> peut ne pas se terminer par zéro

Cet avertissement indique qu'une fonction qui requiert une chaîne se terminant par zéro est passée à une chaîne ne se terminant pas par zéro.Une fonction qui attend une chaîne se terminant par zéro va au-delà de la fin de la mémoire tampon pour rechercher la valeur zéro.Ce défaut peut provoquer une erreur de dépassement de mémoire tampon ou une panne exploitable.Le programme doit vérifier que la chaîne se termine par zéro.

Exemple

Le code suivant génère cet avertissement :

#include <sal.h>

void func( _In_z_ wchar_t* wszStr );

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

Pour corriger cet avertissement, terminez wcArray par zéro avant d'appeler la fonction func(), comme indiqué dans l'exemple de code suivant :

#include <sal.h>

void func( _In_z_ wchar_t* wszStr );

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

Voir aussi

Référence

C6053

Autres ressources

Vue d'ensemble de l'annotation

NullTerminated