Mismatched Allocation/Deallocation

Occurs when a deallocation is attempted with a function that is not the logical reflection of the allocator used.

Problem type: Mismatched allocation/deallocation


Code Location



Allocation site

Represents the location and associated call stack from which the memory block was allocated.


Deallocation site

Represents the location and associated call stack attempting the deallocation.


char *s = (char*)malloc(5);
delete s;

Possible Correction Strategies

Use the appropriate deallocation function to return the memory block to the heap after its last use.


Memory Allocator

Memory Deallocator

C++ language

new operator

delete operator

new[] operator

delete[] operator

C language

malloc(), calloc(), or realloc()functions

free() function

Fortran language

allocate() function

deallocate() function

For more complete information about compiler optimizations, see our Optimization Notice.