summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/util/u_slab.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/util/u_slab.c b/src/gallium/auxiliary/util/u_slab.c
index 21bf2d735ac..f9f5ef68f3a 100644
--- a/src/gallium/auxiliary/util/u_slab.c
+++ b/src/gallium/auxiliary/util/u_slab.c
@@ -160,9 +160,11 @@ void util_slab_destroy(struct util_slab_mempool *pool)
{
struct util_slab_page *page, *temp;
- foreach_s(page, temp, &pool->list) {
- remove_from_list(page);
- FREE(page);
+ if (pool->list.next) {
+ foreach_s(page, temp, &pool->list) {
+ remove_from_list(page);
+ FREE(page);
+ }
}
pipe_mutex_destroy(pool->mutex);