summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-06-17 21:25:32 +0200
committerAlon Levy <alevy@redhat.com>2011-06-17 21:25:32 +0200
commit03d3f0385befe6e742f28a1f524959d09e523ee3 (patch)
tree976b26685e0b35652b8fa121936a9097ef747f7a
parent1664d103cfe48f5994cd71a864868a2a385b3ebb (diff)
display/res: better error message for FreeMem assert
-rw-r--r--display/res.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/display/res.c b/display/res.c
index 1b8cf84..dd57491 100644
--- a/display/res.c
+++ b/display/res.c
@@ -344,8 +344,13 @@ 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);
+ 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();
+ }
EngAcquireSemaphore(pdev->Res->malloc_sem);
mspace_free(pdev->Res->mspaces[mspace_type]._mspace, ptr);
EngReleaseSemaphore(pdev->Res->malloc_sem);