[Spice-devel] [PATCH qxl-win v3 5/8] display/res: better error message for FreeMem assert

Alon Levy alevy at redhat.com
Mon Jun 20 06:08:25 PDT 2011


---
 display/res.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/display/res.c b/display/res.c
index 1b8cf84..c39e022 100644
--- a/display/res.c
+++ b/display/res.c
@@ -344,8 +344,15 @@ static void *__AllocMem(PDev* pdev, UINT32 mspace_type, size_t size, BOOL force)
 static void FreeMem(PDev* pdev, UINT32 mspace_type, void *ptr)
 {
     ASSERT(pdev, pdev && pdev->Res->mspaces[mspace_type]._mspace);
-    ASSERT(pdev, (UINT8 *)ptr >= pdev->Res->mspaces[mspace_type].mspace_start && 
-                 (UINT8 *)ptr < pdev->Res->mspaces[mspace_type].mspace_end);
+#ifdef DBG
+    if (!((UINT8 *)ptr >= pdev->Res->mspaces[mspace_type].mspace_start &&
+                 (UINT8 *)ptr < pdev->Res->mspaces[mspace_type].mspace_end)) {
+        DebugPrint(pdev, 0, "ASSERT failed @ %s, %p not in [%p, %p) (%d)\n", __FUNCTION__,
+            ptr, pdev->Res->mspaces[mspace_type].mspace_start,
+            pdev->Res->mspaces[mspace_type].mspace_end, mspace_type);
+        EngDebugBreak();
+    }
+#endif
     EngAcquireSemaphore(pdev->Res->malloc_sem);
     mspace_free(pdev->Res->mspaces[mspace_type]._mspace, ptr);
     EngReleaseSemaphore(pdev->Res->malloc_sem);
-- 
1.7.5.4



More information about the Spice-devel mailing list