Compartilhar via


C28718

aviso C28718: buffer não anotado

Esse aviso é relatado quando um buffer passado para uma função ou retornado por uma função não tem anotações SAL (Linguagem de Anotação de Código-Fonte). As ferramentas de análise estática podem usar essas anotações para detectar estouros 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, somente buffers de cadeia de caracteres não constantes são diagnosticados com esse aviso. O ideal é que todos os buffers passados como parâmetros de função ou retornados por funções sejam anotados. Matrizes de wchar_t ou char são candidatas a este aviso. Os 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 de SAL para reduzir defeitos de código do C/C++