What does NTSTATUS 0xC00000A0 (STATUS_MEMORY_NOT_ALLOCATED) mean?

 
Previous Next
STATUS_FREE_VM_NOT_AT_BASE STATUS_WORKING_SET_QUOTA

STATUS_MEMORY_NOT_ALLOCATED

The address range is free or outside the owned allocation

This status commonly results from a stale pointer, duplicate free, size calculation that extends beyond the allocation, or cleanup in the wrong process. It differs from an uncommitted page inside a reservation because the Memory Manager cannot associate the range with the expected allocation at all.

Treat it as an ownership defect rather than trying another free API at random. Capture the original allocation and release stacks, then determine whether the region was already released or never belonged to the caller. Cross-process operations must use the intended process handle and address space.

What to inspect

  • Query the address in the target process and record State, Type, and AllocationBase.
  • Check for duplicate cleanup, use-after-free, and process-handle mix-ups.
  • Validate base-plus-size arithmetic for overflow or crossing into a free neighboring range.

References


Looking for a different code? Search another status or error code.