Partager via


C28722

avertissement C28722 : Mémoire tampon non annotée dans la déclaration de 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 au moment de la compilation.

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