From aa8a0d353f85a9702e22cdabeb791cf58a9e37f5 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Thu, 10 Mar 2016 12:18:54 +0800 Subject: [PATCH] Fix glShaderSource with negative lengths Each element of length can still be negative to indicate the string is NULL-terminated. --- renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp index cb7776a26..6b189438b 100644 --- a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp @@ -135,7 +135,7 @@ bool WrappedOpenGL::Serialise_glShaderSource(GLuint shader, GLsizei count, const { string s; if(source && source[i]) - s = length > 0 ? string(source[i], source[i] + length[i]) : string(source[i]); + s = (length && length[i] > 0) ? string(source[i], source[i] + length[i]) : string(source[i]); m_pSerialiser->SerialiseString("source", s); @@ -1331,7 +1331,7 @@ bool WrappedOpenGL::Serialise_glCompileShaderIncludeARB(GLuint shader, GLsizei c { string s; if(path && path[i]) - s = length > 0 ? string(path[i], path[i] + length[i]) : string(path[i]); + s = (length && length[i] > 0) ? string(path[i], path[i] + length[i]) : string(path[i]); m_pSerialiser->SerialiseString("path", s); @@ -1460,4 +1460,4 @@ void WrappedOpenGL::glDeleteNamedStringARB(GLint namelen, const GLchar *name) } } -#pragma endregion \ No newline at end of file +#pragma endregion