A newer version of this document is available. Customers should click here to go to the newest version.
Missing Allocation
Occurs when an invalid pointer is passed to a deallocation function. The invalid address may point to a previously released heap block.

| ID | Code Location | Description | 
|---|---|---|
| 1 | Deallocation site | If present, represents the location and associated call stack from which the memory block referenced by the address was previously deallocated. The previous deallocation makes all subsequent deallocation attempts invalid. | 
| 2 | Invalid deallocation site | Represents the location and associated call stack attempting the deallocation. | 
char* pStr = (char*) malloc(20); free(pStr); free(pStr);
integer, target :: b(100) integer, pointer :: pmiddle pmiddle => b(4) DEALLOCATE( pmiddle )
| If | Do This | 
|---|---|
| A double deallocation occurs. | Remove the extraneous deallocation. | 
| An invalid deallocation occurs. | Fix the pointer value passed to the deallocator. |