Validate level index before validating level itself. Change-Id: I4587cb845bf61c390942071546f2439ada618b9b Reviewed-on: https://swiftshader-review.googlesource.com/5530 Tested-by: Nicolas Capens <capn@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp index 3e040b4..7beb616 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.cpp +++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -2098,11 +2098,6 @@ return error(GL_INVALID_ENUM); } - if(tex->isCompressed(textarget, level)) - { - return error(GL_INVALID_OPERATION); - } - if((level != 0) && (context->getClientVersion() < 3)) { return error(GL_INVALID_VALUE); @@ -2112,6 +2107,11 @@ { return error(GL_INVALID_VALUE); } + + if(tex->isCompressed(textarget, level)) + { + return error(GL_INVALID_OPERATION); + } } es2::Framebuffer *framebuffer = nullptr;