From 606d3a3c3de94665e47df47b48596293d588a420 Mon Sep 17 00:00:00 2001 From: Jian Zhao Date: Tue, 13 Dec 2011 13:31:41 +0800 Subject: Add mismatch check for glGetTexImage or it will return -1 and may lead to segment fault. Reviewed-by: Brian Paul --- src/mesa/main/texgetimage.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/mesa/main/texgetimage.c') diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index ae0d51f..3f24187 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -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 -- cgit v1.1