summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2012-08-10 09:23:36 -0600
committerBrian Paul <brianp@vmware.com>2012-08-10 09:45:25 -0600
commitf7af4beae5e25c060d4f2c53d55b0e87ee9bdaeb (patch)
treec4477c14b0ab24b555bdeab68be15cd31f48c3b3
parent9b04abe36812a34ba447e5b1f8d8e44a10510820 (diff)
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@vmware.com>
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_sample.c7
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 1ea59ea222c..63cf610ecad 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