Mesa (master): mesa/samplerobj: Avoid crash in sampler query if texture unit is disabled

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Aug 13 00:10:56 UTC 2012


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

Author: Pauli Nieminen <pauli.nieminen at linux.intel.com>
Date:   Tue Jun 12 21:38:48 2012 +0300

mesa/samplerobj: Avoid crash in sampler query if texture unit is disabled

Sampler queries are so far made only for enabled texture unit. But if
any code would query sampler before checking texture unit state that
would result to NULL deference.

Making the inline helper easier to use with NULL check makes a lot sense
because compiler is likely to combine the checks for the current texture.

Signed-off-by: Pauli Nieminen <pauli.nieminen at linux.intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/main/samplerobj.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h
index 2b0cd79..e70ee48 100644
--- a/src/mesa/main/samplerobj.h
+++ b/src/mesa/main/samplerobj.h
@@ -33,8 +33,10 @@ _mesa_get_samplerobj(struct gl_context *ctx, GLuint unit)
 {
    if (ctx->Texture.Unit[unit].Sampler)
       return ctx->Texture.Unit[unit].Sampler;
-   else
+   else if (ctx->Texture.Unit[unit]._Current)
       return &ctx->Texture.Unit[unit]._Current->Sampler;
+   else
+      return NULL;
 }
 
 




More information about the mesa-commit mailing list