From 94fa5fe14a6c0aa4aebd2b59af961c5487204ac0 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Mon, 23 Sep 2002 10:43:02 +0000 Subject: [PATCH] Guard radeon_mem_release and radeon_mem_takedown against null heaps. --- shared-core/radeon_mem.c | 6 ++++++ shared/radeon_mem.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/shared-core/radeon_mem.c b/shared-core/radeon_mem.c index 5488313c..d77c60b9 100644 --- a/shared-core/radeon_mem.c +++ b/shared-core/radeon_mem.c @@ -174,6 +174,9 @@ void radeon_mem_release( struct mem_block *heap ) int pid = DRM_CURRENTPID; struct mem_block *p; + if (!heap || !heap->next) + return; + for (p = heap->next ; p != heap ; p = p->next) { if (p->pid == pid) p->pid = 0; @@ -198,6 +201,9 @@ void radeon_mem_release( struct mem_block *heap ) void radeon_mem_takedown( struct mem_block **heap ) { struct mem_block *p; + + if (!*heap) + return; for (p = (*heap)->next ; p != *heap ; ) { struct mem_block *q = p; diff --git a/shared/radeon_mem.c b/shared/radeon_mem.c index 5488313c..d77c60b9 100644 --- a/shared/radeon_mem.c +++ b/shared/radeon_mem.c @@ -174,6 +174,9 @@ void radeon_mem_release( struct mem_block *heap ) int pid = DRM_CURRENTPID; struct mem_block *p; + if (!heap || !heap->next) + return; + for (p = heap->next ; p != heap ; p = p->next) { if (p->pid == pid) p->pid = 0; @@ -198,6 +201,9 @@ void radeon_mem_release( struct mem_block *heap ) void radeon_mem_takedown( struct mem_block **heap ) { struct mem_block *p; + + if (!*heap) + return; for (p = (*heap)->next ; p != *heap ; ) { struct mem_block *q = p;