From 8e594bc8e9f1af9cb89a1b4937c8ee4c5ca69131 Mon Sep 17 00:00:00 2001 From: Kai Blaschke Date: Wed, 25 Jan 2023 15:28:34 +0100 Subject: [PATCH] Fix index-out-of-bounds crash when getting shader param substring. --- src/libprojectM/Renderer/ShaderEngine.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libprojectM/Renderer/ShaderEngine.cpp b/src/libprojectM/Renderer/ShaderEngine.cpp index 9f4b5a585..a9a6af442 100644 --- a/src/libprojectM/Renderer/ShaderEngine.cpp +++ b/src/libprojectM/Renderer/ShaderEngine.cpp @@ -255,7 +255,8 @@ GLuint ShaderEngine::compilePresetShader(const PresentShaderType shaderType, Sha if (texDesc.first == NULL) { - if (lowerCaseName.substr(0, 4) == "rand" || lowerCaseName.substr(2, 5) == "_rand") + if ((lowerCaseName.size() >= 4 && lowerCaseName.substr(0, 4) == "rand") || + (lowerCaseName.size() >= 5 && lowerCaseName.substr(2, 5) == "_rand")) { texDesc = textureManager->getRandomTextureName(sampler); }