From aa48200e4991fd3f0f17b0200d64207ba1a31c60 Mon Sep 17 00:00:00 2001 From: Sameeh Jubran Date: Tue, 9 Aug 2016 15:22:26 +0300 Subject: [PATCH] Add delete operator Based on a patch by Sandy Stutsman Signed-off-by: Javier Celaya Signed-off-by: Sameeh Jubran Acked-by: Frediano Ziglio --- qxldod/BaseObject.cpp | 11 +++++++++++ qxldod/BaseObject.h | 1 + 2 files changed, 12 insertions(+) diff --git a/qxldod/BaseObject.cpp b/qxldod/BaseObject.cpp index ac270fd..a93c040 100755 --- a/qxldod/BaseObject.cpp +++ b/qxldod/BaseObject.cpp @@ -70,3 +70,14 @@ void __cdecl operator delete[](void* pObject) ExFreePool(pObject); } } + +void __cdecl operator delete(void *pObject, size_t s) +{ + PAGED_CODE(); + + UNREFERENCED_PARAMETER(s); + + if (pObject != NULL) { + ExFreePool(pObject); + } +} diff --git a/qxldod/BaseObject.h b/qxldod/BaseObject.h index 66e66e4..94e7f8e 100755 --- a/qxldod/BaseObject.h +++ b/qxldod/BaseObject.h @@ -56,4 +56,5 @@ _When_((PoolType & NonPagedPoolMustSucceed) != 0, "Allocation failures cause a system crash")) void* __cdecl operator new[](size_t Size, POOL_TYPE PoolType = PagedPool); void __cdecl operator delete(void* pObject); +void __cdecl operator delete(void *pObject, size_t s); void __cdecl operator delete[](void* pObject);