From fd73d77484ae6c4bdbc10a974d4bf6512db0d10e Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Tue, 17 Apr 2018 17:25:24 +0100 Subject: [PATCH] Added some checks on index values in AudioProcessor --- .../processors/juce_AudioProcessor.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp index 43658a5772..c0f2bd12a5 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp @@ -432,7 +432,7 @@ void AudioProcessor::setParameterNotifyingHost (int parameterIndex, float newVal { param->setValueNotifyingHost (newValue); } - else + else if (isPositiveAndBelow (parameterIndex, getNumParameters())) { setParameter (parameterIndex, newValue); sendParamChangeMessageToListeners (parameterIndex, newValue); @@ -522,7 +522,8 @@ String AudioProcessor::getParameterName (int index, int maximumStringLength) if (auto* p = managedParameters[index]) return p->getName (maximumStringLength); - return getParameterName (index).substring (0, maximumStringLength); + return isPositiveAndBelow (index, getNumParameters()) ? getParameterName (index).substring (0, maximumStringLength) + : String(); } const String AudioProcessor::getParameterText (int index) @@ -534,7 +535,8 @@ const String AudioProcessor::getParameterText (int index) ScopedValueSetter sv (textRecursionCheck, true, false); #endif - return getParameterText (index, 1024); + return isPositiveAndBelow (index, getNumParameters()) ? getParameterText (index, 1024) + : String(); } String AudioProcessor::getParameterText (int index, int maximumStringLength) @@ -542,7 +544,8 @@ String AudioProcessor::getParameterText (int index, int maximumStringLength) if (auto* p = managedParameters[index]) return p->getText (p->getValue(), maximumStringLength); - return getParameterText (index).substring (0, maximumStringLength); + return isPositiveAndBelow (index, getNumParameters()) ? getParameterText (index).substring (0, maximumStringLength) + : String(); } #if JUCE_GCC