Mesa (master): gallivm: fix crash in lp_sampler_static_state()

Brian Paul brianp at kemper.freedesktop.org
Fri Aug 10 15:46:41 UTC 2012


Module: Mesa
Branch: master
Commit: f7af4beae5e25c060d4f2c53d55b0e87ee9bdaeb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7af4beae5e25c060d4f2c53d55b0e87ee9bdaeb

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Aug 10 09:23:36 2012 -0600

gallivm: fix crash in lp_sampler_static_state()

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 at vmware.com>

---

 src/gallium/auxiliary/gallivm/lp_bld_sample.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
index 1ea59ea..63cf610 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c
@@ -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




More information about the mesa-commit mailing list