Main Content

MISRA C++:2008 Rule 18-4-1

Dynamic heap memory allocation shall not be used

Description

Rule Definition

Dynamic heap memory allocation shall not be used.

Rationale

Dynamic memory allocation uses heap memory, which can lead to issues such as memory leaks, data inconsistency, memory exhaustion, and nondeterministic behavior.

Polyspace Implementation

The checker flags uses of the malloc, calloc, realloc and free functions, and non-placement versions of the new and delete operator.

The checker also flags uses of the alloca function. Though memory leak cannot happen with the alloca function, other issues associated with dynamic memory allocation can still occur.

Troubleshooting

If you expect a rule violation but Polyspace® does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Check Information

Group: Language Support Library
Category: Required

Version History

Introduced in R2013b