...
Using an invalid array or container index can result in an arbitrary memory overwrite or abnormal program termination.
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
CTR50-CPP | High | Likely | No | NoHigh | P9 | L2 |
Automated Detection
Tool | Version | Checker | Description | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| overflow_upon_dereference | ||||||||||||
| CodeSonar |
| LANG.MEM.BO | Buffer overrun | |||||||||||
| Helix QAC |
| C++3139, C++3140 DF2891 | ||||||||||||
| Klocwork |
| ABV.ANY_SIZE_ARRAY | ||||||||||||
| LDRA tool suite |
| 45 D, 47 S, 476 S, 489 S, 64 X, 66 X, 68 X, 69 X, 70 X, 71 X, 79 X | Partially implemented | |||||||||||
| Parasoft C/C++test |
| CERT_CPP-CTR50-a | Guarantee that container indices are within the valid range | |||||||||||
| Polyspace Bug Finder |
| CERT C++: CTR50-CPP | Checks for:
Rule partially covered. | PRQA QA-C++ | | Include Page | | PRQA QA-C++_V | PRQA QA-C++_V | 2891, 3139, 3140||||||
| PVS-Studio |
| V781 |
...