Memory leaks in C++ is a huge production risk

Production RiskSoftware ResiliencyCode Reliability

Memory leaks in C++ is a huge production risk

This code insight counts a violation each time a Call free or delete to free the memory.  List all locations where a memory allocation is created (malloc/calloc/realloc, new, and std::auto_ptr.release()) that is not freed (using free or delete).

void f()
{
int *array = calloc(1024, sizeof(int));
/* Do some work with array here */
// VIOLATION: Memory not freed
}

Remedy

void f()
{
int *array = calloc(1024, sizeof(int));
/* Do some work with array here */
free(array); // REMEDIATION
}

5362

Why you should care

Memory leaks ultimately mean available memory is gradually reduced leading to various problems ranging from poor responsiveness to a system/application crash

Business Impacts

Production Risk

CAST recommendations

References

http://en.wikipedia.org/wiki/Memory_leak

5362

About CAST and Highlight’s Code Insights

Over the last 25 years, CAST has leveraged unique knowledge on software quality measurement by analyzing thousands of applications and billions of lines of code. Based on this experience and community standards on programming best practices, Highlight implements hundreds of code insights across 15+ technologies to calculate health factors of a software.

See featuresHow it works