double free(计算机/编程)指同一块动态分配的内存被释放(free)两次的错误。它可能导致程序崩溃、内存破坏,甚至被攻击者利用形成安全漏洞。(也常写作 double-free。)
/ˌdʌbəl ˈfriː/
The crash happened because the program did a double free.
程序崩溃是因为发生了二次释放(double free)。
In complex error-handling code, a forgotten pointer reset can trigger a double free and corrupt the heap.
在复杂的错误处理代码中,忘记把指针重置可能触发二次释放并破坏堆内存。
该短语由 double(两次、双重) + free(释放内存) 组成。这里的 free 不是“免费的”,而是来自 C 语言等系统编程语境中用于释放动态内存的操作(如 free())。因此 double free 字面即“释放两次”。