A newer version of this document is available. Customers should click here to go to the newest version.
Mismatched Allocation/Deallocation
Occurs when a deallocation is attempted with a function that is not the logical reflection of the allocator used.

| ID | Code Location | Description | 
|---|---|---|
| 1 | Allocation site | Represents the location and associated call stack from which the memory block was allocated. | 
| 2 | Deallocation site | Represents the location and associated call stack attempting the deallocation. | 
char *s = (char*)malloc(5); delete s;
Use the appropriate deallocation function to return the memory block to the heap after its last use.
| Platform | 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 | 
| Windows* API | Windows* dynamic memory functions such as GlobalAlloc() or LocalAlloc() | Appropriate functions, such as GlobalFree() or LocalFree() |