Leggere in inglese

Condividi tramite


Avviso C26825

La postcondizione per un puntatore null possibile 'variable' richiede che sia non Null (lifetime.1)

Osservazioni:

La dereferenziazione di un puntatore Null è un problema frequente in C e C++. Abbiamo diversi controlli per affrontare tali problemi. Per un confronto, vedere questo post di blog. Quando il motore di analisi rileva un puntatore potenzialmente Null restituito da una funzione che ha un contratto che impedisce tale operazione, genererà un C26825 avviso. È possibile abilitare C26824 solo per un'analisi più permissiva. Questo controllo funziona solo sulle funzioni annotate usando annotazioni SAL.

Esempio

void postcondition_conditional(int *q, _Outptr_ int** p)  { 
    *p = q; // C26825 warning 
} 

Per risolvere questo avviso, assicurarsi che non sia presente alcun puntatore Null restituito dalla funzione con annotazioni. In alternativa, modificare le annotazioni in modo da riflettere il comportamento della funzione.