From 5ae54c0cf7acfb792d2ca9b22cd5fb5ba811d32c Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 1 Mar 2017 22:54:09 +0100 Subject: [PATCH] getteximage: avoid to lookup textures with id 0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This fixes the following assertion when the key is 0. main/hash.c:181: _mesa_HashLookup_unlocked: Assertion `key' failed. Fixes: 633c959fae ("getteximage: Return correct error value when texure object is not found") Signed-off-by: Samuel Pitoiset Reviewed-by: Marek Olšák --- src/mesa/main/texgetimage.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index c0c50b0..37fda3d 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -1458,7 +1458,9 @@ _mesa_GetTextureSubImage(GLuint texture, GLint level, { GET_CURRENT_CONTEXT(ctx); static const char *caller = "glGetTextureSubImage"; - struct gl_texture_object *texObj = + struct gl_texture_object *texObj = NULL; + + if (texture > 0) _mesa_lookup_texture(ctx, texture); if (!texObj) { @@ -1774,9 +1776,11 @@ _mesa_GetCompressedTextureSubImage(GLuint texture, GLint level, { GET_CURRENT_CONTEXT(ctx); static const char *caller = "glGetCompressedTextureImage"; - struct gl_texture_object *texObj; + struct gl_texture_object *texObj = NULL; + + if (texture > 0) + texObj = _mesa_lookup_texture(ctx, texture); - texObj = _mesa_lookup_texture(ctx, texture); if (!texObj) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(texture)", caller); return; -- 2.7.4