[previous] 2841 [next] Definite: Dereference of an invalid pointer value.
Arrays

A definite anomaly has been detected. Examination of the context indicates that this expression will always result in an access outside the bounds of an array.

For example


/*PRQA S 2017,3120,3132,3203,3227,3408,3605 ++*/
void foo(int n)
{
    int a[10];

    if (n > 10)
    {
        a[n] = 1;               /* 2841 */
    }
}


MISRA-C:2004 Rules applicable to message 2841:

Rule  20.3  (Required) The validity of values passed to library functions shall be checked.
Rule  21.1  (Required) Minimisation of run-time failures shall be ensured by the use of at least one of (a) static analysis tools/techniques; (b) dynamic analysis tools/techniques; (c) explicit coding of checks to handle run-time faults


See also:

QA·C Source Code Analyser 8.1
MISRA-C:2004 Compliance Module 3.2
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA-C:2004 Rule Index Contents