ralloc: Fix ralloc_parent() of memory allocated out of the NULL context.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 22 May 2012 02:34:13 +0000 (19:34 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 31 May 2012 04:49:40 +0000 (21:49 -0700)
If an object is allocated out of the NULL context, info->parent will be
NULL.  Using the PTR_FROM_HEADER macro would be incorrect: it would say
that ralloc_parent(ralloc_context(NULL)) == sizeof(ralloc_header).

Fixes the new "null_parent" unit test.

NOTE: This is a candidate for the 7.9, 7.10, 7.11, and 8.0 branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ralloc.c

index 2f93dcdeaf7ca9528aeb01861442c735cf8298c8..3da09b5592924c333bb0846e153e1e3e8f892e03 100644 (file)
@@ -278,7 +278,7 @@ ralloc_parent(const void *ptr)
       return NULL;
 
    info = get_header(ptr);
-   return PTR_FROM_HEADER(info->parent);
+   return info->parent ? PTR_FROM_HEADER(info->parent) : NULL;
 }
 
 static void *autofree_context = NULL;