Condividi tramite


C28718

avviso C28718: buffer non annotato

Questo avviso viene segnalato quando un buffer passato a una funzione o restituito da una funzione non dispone di annotazioni SAL (Source Code Annotation Language). Gli strumenti di analisi statici possono usare tali annotazioni per rilevare i sovraccarichi del buffer. Per informazioni sull'aggiunta di annotazioni, vedere Uso delle annotazioni SAL per ridurre i difetti del codice C/C++.

Attualmente, solo i buffer di stringa non costanti vengono diagnosticati con questo avviso. Idealmente, tutti i buffer passati come parametri di funzione o restituiti dalle funzioni devono essere annotati. Le matrici di wchar_t o char sono candidati per questo avviso. I caratteri non firmati non sono attualmente.

Esempio

L'esempio di codice seguente genera questo avviso.

int foo( LPTSTR buffer, size_t cch );  

Nell'esempio di codice seguente viene evitato questo avviso.

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

Uso delle annotazioni SAL per ridurre gli errori del codice C/C++