Partager via


C28742

avertissement C28742 : Mémoire tampon non annotée dans la fonction

Cet avertissement indique qu’une mémoire tampon passée en tant que paramètre de fonction ou retournée par une fonction doit être annotée avec le langage SAL (Microsoft Source Code Annotation Language). Les outils d’analyse statique peuvent utiliser ces annotations pour détecter les dépassements de mémoire tampon.

Actuellement, seuls les tampons non constants sont diagnostiqués avec cet avertissement.

Exemple

L’exemple de code suivant génère cet avertissement.

       int foo( LPTSTR buffer, size_t cch );

L’exemple de code suivant évite cet avertissement en utilisant l’annotation SAL _Out_writes_ pour spécifier que la fonction appelée écrit dans la mémoire tampon et que la mémoire tampon ne peut pas être NULL. L’annotation indique que la mémoire tampon est d’éléments cch .

       int foo(_Out_writes_(cch) LPTSTR buffer, size_t cch );