gallivm: fix crash in lp_sampler_static_state()
authorBrian Paul <brianp@vmware.com>
Fri, 10 Aug 2012 15:23:36 +0000 (09:23 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 10 Aug 2012 15:45:25 +0000 (09:45 -0600)
Fixes WebGL conformance/uniforms/uniform-default-values.html crash.

We need to check for the null view pointer before accessing view->texture.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53317

Note: This is a candidate for the 8.0 branch.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_sample.c

index 1ea59ea..63cf610 100644 (file)
@@ -96,15 +96,14 @@ lp_sampler_static_state(struct lp_sampler_static_state *state,
                         const struct pipe_sampler_view *view,
                         const struct pipe_sampler_state *sampler)
 {
-   const struct pipe_resource *texture = view->texture;
+   const struct pipe_resource *texture;
 
    memset(state, 0, sizeof *state);
 
-   if(!texture)
+   if (!sampler || !view || !view->texture)
       return;
 
-   if(!sampler)
-      return;
+   texture = view->texture;
 
    /*
     * We don't copy sampler state over unless it is actually enabled, to avoid