Definition
Plain language
A memory bug where the same chunk of memory gets released twice, often leading to crashes or exploits.
As stated in the literature
A memory-safety vulnerability in which the same heap allocation is passed to free more than once, corrupting allocator metadata and frequently producing exploitable conditions.
Also called: double-frees
Why it matters: Double-frees are a classic source of remote-code-execution vulnerabilities, and finding them is a long-standing target for both static analyzers and AI bug hunters.
For example, a C program closes a network handle, an error path closes it again, and the second close corrupts the heap allocator's bookkeeping.