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.1
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
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.