Mesa (master): i915g: Fix possible null pointer deference in debug builds.

Vinson Lee vlee at kemper.freedesktop.org
Mon Apr 12 01:10:25 UTC 2010


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

Author: Vinson Lee <vlee at vmware.com>
Date:   Sun Apr 11 18:07:41 2010 -0700

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 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c
index bc2f1b2..3976472 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));




More information about the mesa-commit mailing list