From 8033d7542b37e92f9a79febbdf88b0573a65cfa5 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Sun, 11 Apr 2010 18:07:41 -0700 Subject: [PATCH] i915g: Fix possible null pointer deference in debug builds. i915_buffer deferences buf in debug builds. Move declaration and assignment to inside NULL check of buf. --- src/gallium/drivers/i915/i915_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index bc2f1b268a0..397647204b4 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -527,7 +527,6 @@ static void i915_set_constant_buffer(struct pipe_context *pipe, struct pipe_resource *buf) { struct i915_context *i915 = i915_context(pipe); - struct i915_buffer *ir = i915_buffer(buf); draw_flush(i915->draw); assert(shader < PIPE_SHADER_TYPES); @@ -543,6 +542,7 @@ static void i915_set_constant_buffer(struct pipe_context *pipe, * N constants, leaving any extras from shader translation alone. */ if (buf) { + struct i915_buffer *ir = i915_buffer(buf); memcpy(i915->current.constants[shader], ir->data, ir->b.b.width0); i915->current.num_user_constants[shader] = (ir->b.b.width0 / 4 * sizeof(float)); -- 2.30.2