Tool | Version | Checker | Description |
---|
CodeSonar | | ALLOC.DF ALLOC.LEAK DYN.ALLOC.DF | Double free Leak Dynamic Double Free |
Compass/ROSE |
|
| Could detect possible violations by reporting any function that has malloc() or free() but not both. This would catch some false positives, as there would be no way to tell if malloc() and free() are at the same level of abstraction if they are in different functions |
Coverity | 6.5 | RESOURCE_LEAK | Fully implemented |
Klocwork | | FREE.INCONSISTENT UFM.FFM.MIGHT UFM.FFM.MUST UFM.DEREF.MIGHT UFM.DEREF.MUST UFM.RETURN.MIGHT UFM.RETURN.MUST UFM.USE.MIGHT UFM.USE.MUST MLK.MIGHT MLK.MUST MLK.RET.MIGHT MLK.RET.MUST FNH.MIGHT FNH.MUST FUM.GEN.MIGHT FUM.GEN.MUST RH.LEAK |
|
LDRA tool suite | | 50 D | Partially implemented |
Parasoft C/C++test | | CERT_C-MEM00-a CERT_C-MEM00-b CERT_C-MEM00-c CERT_C-MEM00-d CERT_C-MEM00-e | Do not allocate memory and expect that someone else will deallocate it later Do not allocate memory and expect that someone else will deallocate it later Do not allocate memory and expect that someone else will deallocate it later Do not use resources that have been freed Ensure resources are freed |
Parasoft Insure++ |
|
| Runtime analysis |
Polyspace Bug Finder | Include Page |
---|
| Polyspace Bug Finder_V |
---|
| Polyspace Bug Finder_V |
---|
|
| Invalid free of pointer Deallocation of previously deallocated pointer Use of previously freed pointer | Pointer deallocation without a corresponding dynamic allocation Memory freed more than once without allocation
Memory accessed after deallocation |