Add mismatch check for glGetTexImage or it will return -1 and may lead to segment fault.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Jian Zhao 2011-12-13 13:31:41 +08:00 committed by Yuanhan Liu
parent c87cb98bb4
commit 606d3a3c3d

View file

@ -708,6 +708,14 @@ getteximage_error_check(struct gl_context *ctx, GLenum target, GLint level,
return GL_TRUE;
}
if (!_mesa_is_legal_format_and_type(ctx, format, type)) {
/*GL_INVALID_OPERATION is generated by a format/type
* mismatch (see the 1.2 spec page 94, sec 3.6.4.)
*/
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(target)");
return GL_TRUE;
}
baseFormat = _mesa_get_format_base_format(texImage->TexFormat);
/* Make sure the requested image format is compatible with the