From 636c04dd79487111f777d1c3d350ca54afd12c7c Mon Sep 17 00:00:00 2001 From: Simon Fels Date: Thu, 29 Sep 2016 07:56:14 +0200 Subject: [PATCH] Check if object data is valid before accessing it --- .../android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/external/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp b/external/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp index 3e24516..0243acf 100644 --- a/external/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp +++ b/external/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp @@ -2082,7 +2082,7 @@ static void s_unUseCurrentProgram() { if (!localCurrentProgram) return; ObjectDataPtr objData = ctx->shareGroup()->getObjectData(SHADER,localCurrentProgram); - SET_ERROR_IF(objData.Ptr()->getDataType()!=PROGRAM_DATA,GL_INVALID_OPERATION); + SET_ERROR_IF(!objData.Ptr() || objData.Ptr()->getDataType()!=PROGRAM_DATA,GL_INVALID_OPERATION); ProgramData* programData = (ProgramData*)objData.Ptr(); programData->setInUse(false); if (programData->getDeleteStatus()) { glDeleteProgram(localCurrentProgram); } @@ -2094,7 +2094,7 @@ GL_APICALL void GL_APIENTRY glUseProgram(GLuint program){ const GLuint globalProgramName = ctx->shareGroup()->getGlobalName(SHADER,program); SET_ERROR_IF(program!=0 && globalProgramName==0,GL_INVALID_VALUE); ObjectDataPtr objData = ctx->shareGroup()->getObjectData(SHADER,program); - SET_ERROR_IF(objData.Ptr() && (objData.Ptr()->getDataType()!=PROGRAM_DATA),GL_INVALID_OPERATION); + SET_ERROR_IF(!objData.Ptr() || (objData.Ptr()->getDataType()!=PROGRAM_DATA),GL_INVALID_OPERATION); s_unUseCurrentProgram();