 
                            ...
| Recommendation | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level | 
|---|---|---|---|---|---|---|
| MEM05-C | Medium | Likely | No | NoMedium | P12P6 | L1L2 | 
Automated Detection
| Tool | Version | Checker | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CodeSonar | 
 | IO.TAINT.SIZE MISC.MEM.SIZE.BAD | Tainted Allocation Size Unreasonable Size Argument | ||||||||||||||||||||||||
| 
 | STACK_USE | Can help detect single stack allocations that are dangerously large, although it will not detect excessive stack use resulting from recursion | |||||||||||||||||||||||||
| Helix QAC | 
 | C1051, C1520, C3670 | |||||||||||||||||||||||||
| Klocwork | 
 | MISRA.FUNC.RECUR | |||||||||||||||||||||||||
| LDRA tool suite | 
 | 44 S | Enhanced Enforcement | ||||||||||||||||||||||||
| Parasoft C/C++test | 
 | CERT_C-MEM05-a | Do not use recursion | ||||||||||||||||||||||||
| PC-lint Plus | 
 | 9035, 9070 | Partially supported: reports use of variable length arrays and recursion | ||||||||||||||||||||||||
| Polyspace Bug Finder | 
 | PRQA QAChecks for: 
 Rec. partially covered. | |||||||||||||||||||||||||
| PVS-C | Studio | PRQA QA
 | C
 | v
 | PRQA QA
 | C
 | v
 | 1051, 1520, 3670 | Partially implementedPVS-Studio | 
 | V505 | ||||||||||||||||
| Security Reviewer - Static Reviewer | PVS
 | Studio
 | PVS
 | Studio
 | V505
 | CPP_010 | Fully implemented | 
Related Vulnerabilities
Stack overflow has been implicated in Toyota unintended acceleration cases, where Camry and other Toyota vehicles accelerated unexpectedly. Michael Barr testified at the trial that a stack overflow could corrupt the critical variables of the operating system, because they were located in memory adjacent to the top of the stack [Samek 2014].
...