main/texobj: Check that texture id > 0 before looking it up in hash-table
_mesa_lookup_texture_err() is not currently checking that the texture-id can be zero, but _mesa_HashLookup() doesn't expect the key to be zero, and will fail an assertion. Considering that _mesa_lookup_texture_err() is called from _mesa_GetTextureImage and _mesa_GetTextureSubImage with user provided arguments, we must validate the texture-id before looking it up in the hash-table. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
@@ -116,9 +116,10 @@ _mesa_lookup_texture(struct gl_context *ctx, GLuint id)
|
||||
struct gl_texture_object *
|
||||
_mesa_lookup_texture_err(struct gl_context *ctx, GLuint id, const char* func)
|
||||
{
|
||||
struct gl_texture_object *texObj;
|
||||
struct gl_texture_object *texObj = NULL;
|
||||
|
||||
texObj = _mesa_lookup_texture(ctx, id); /* Returns NULL if not found. */
|
||||
if (id > 0)
|
||||
texObj = _mesa_lookup_texture(ctx, id); /* Returns NULL if not found. */
|
||||
|
||||
if (!texObj)
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(texture)", func);
|
||||
|
||||
Reference in New Issue
Block a user