Partilhar via


C28718

aviso C28718: Buffer não anotado

Esse aviso é relatado quando um buffer que é passado para uma função ou retornado por uma função não tem anotações SAL (Source Code Annotation Language). As ferramentas de análise estática podem usar essas anotações para detetar saturações de buffer. Para obter informações sobre como adicionar anotações, consulte Usando anotações SAL para reduzir defeitos de código C/C++.

Atualmente, apenas buffers de cadeia de caracteres não constantes são diagnosticados com esse aviso. Idealmente, todos os buffers passados como parâmetros de função ou retornados por funções devem ser anotados. Matrizes de wchar_t ou char são candidatos a este aviso. Caracteres não assinados atualmente não são.

Exemplo

O exemplo de código a seguir gera esse aviso.

int foo( LPTSTR buffer, size_t cch );  

O exemplo de código a seguir evita esse aviso.

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

Usando anotações SAL para reduzir defeitos de código C/C++