From c734e03dd0bc4736855e660f4330780329413057 Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 21 Mar 2018 10:49:27 +0000 Subject: [PATCH] Avoided some UB warnings when trying to sort empty arrays --- .../juce_core/containers/juce_ElementComparator.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/juce_core/containers/juce_ElementComparator.h b/modules/juce_core/containers/juce_ElementComparator.h index 6e0f24c2e3..8ce16acd56 100644 --- a/modules/juce_core/containers/juce_ElementComparator.h +++ b/modules/juce_core/containers/juce_ElementComparator.h @@ -82,12 +82,17 @@ static void sortArray (ElementComparator& comparator, int lastElement, const bool retainOrderOfEquivalentItems) { - SortFunctionConverter converter (comparator); + jassert (firstElement >= 0); - if (retainOrderOfEquivalentItems) - std::stable_sort (array + firstElement, array + lastElement + 1, converter); - else - std::sort (array + firstElement, array + lastElement + 1, converter); + if (lastElement > firstElement) + { + SortFunctionConverter converter (comparator); + + if (retainOrderOfEquivalentItems) + std::stable_sort (array + firstElement, array + lastElement + 1, converter); + else + std::sort (array + firstElement, array + lastElement + 1, converter); + } }