From 8a44ff60e60a40d0da5f326c483c12079612f3cc Mon Sep 17 00:00:00 2001 From: Tina Zhang Date: Thu, 4 Dec 2014 12:37:30 +0800 Subject: Add parameters validation to glShaderSource() API According to GLES2.0 Spec., add parameters validataion to glShaderSource() API. Change-Id: I5b0e939fd9657ccbb40a13896c8fc74ef02fd085 Signed-off-by: Tina Zhang --- opengl/system/GLESv2_enc/GL2Encoder.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) mode change 100644 => 100755 opengl/system/GLESv2_enc/GL2Encoder.cpp (limited to 'opengl/system') diff --git a/opengl/system/GLESv2_enc/GL2Encoder.cpp b/opengl/system/GLESv2_enc/GL2Encoder.cpp old mode 100644 new mode 100755 index 80a2cda..90aa61d --- a/opengl/system/GLESv2_enc/GL2Encoder.cpp +++ b/opengl/system/GLESv2_enc/GL2Encoder.cpp @@ -656,7 +656,9 @@ void GL2Encoder::s_glShaderSource(void *self, GLuint shader, GLsizei count, cons { GL2Encoder* ctx = (GL2Encoder*)self; ShaderData* shaderData = ctx->m_shared->getShaderData(shader); - SET_ERROR_IF(!shaderData, GL_INVALID_VALUE); + SET_ERROR_IF(!ctx->m_shared->isObject(shader), GL_INVALID_VALUE); + SET_ERROR_IF(!shaderData, GL_INVALID_OPERATION); + SET_ERROR_IF((count<0), GL_INVALID_VALUE); int len = glUtilsCalcShaderSourceLen((char**)string, (GLint*)length, count); char *str = new char[len + 1]; -- cgit v1.2.3