From 996c115217f18654747cd1c4baeda54d9342c808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 2 Dec 2022 08:16:30 +0100 Subject: [PATCH] msvcrt: Use operator_delete to free _Condition_variable queue nodes. --- dlls/msvcrt/concurrency.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c index f7f7adb86ed..c5db2868d58 100644 --- a/dlls/msvcrt/concurrency.c +++ b/dlls/msvcrt/concurrency.c @@ -2656,7 +2656,7 @@ void __thiscall _Condition_variable_dtor(_Condition_variable *this) cv_queue *next = this->queue->next; if(!this->queue->expired) ERR("there's an active wait\n"); - HeapFree(GetProcessHeap(), 0, this->queue); + operator_delete(this->queue); this->queue = next; } critical_section_dtor(&this->lock); @@ -2753,7 +2753,7 @@ void __thiscall _Condition_variable_notify_one(_Condition_variable *this) RtlWakeAddressSingle(&node->next); return; } else { - HeapFree(GetProcessHeap(), 0, node); + operator_delete(node); } } } @@ -2782,7 +2782,7 @@ void __thiscall _Condition_variable_notify_all(_Condition_variable *this) if(!InterlockedExchange(&ptr->expired, TRUE)) RtlWakeAddressSingle(&ptr->next); else - HeapFree(GetProcessHeap(), 0, ptr); + operator_delete(ptr); ptr = next; } }