From 01468337184ecc45e5370450d07c55f93979f412 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Thu, 19 Sep 2019 06:48:36 +0200
Subject: [PATCH] OO-4260: check boundaries of rubric list (or reload
 container)

---
 .../modules/forms/ui/RubricEditorController.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/olat/modules/forms/ui/RubricEditorController.java b/src/main/java/org/olat/modules/forms/ui/RubricEditorController.java
index ee9eee8273f..a9cdbf25146 100644
--- a/src/main/java/org/olat/modules/forms/ui/RubricEditorController.java
+++ b/src/main/java/org/olat/modules/forms/ui/RubricEditorController.java
@@ -647,13 +647,15 @@ public class RubricEditorController extends FormBasicController implements PageE
 	
 	private void swapSliders(int i, int j) {
 		List<Slider> rubricSliders = rubric.getSliders();
-		Slider tempRubricSlider = rubricSliders.get(i);
-		rubricSliders.set(i, rubricSliders.get(j));
-		rubricSliders.set(j, tempRubricSlider);
-		
-		SliderRow tempSlider = sliders.get(i);
-		sliders.set(i, sliders.get(j));
-		sliders.set(j, tempSlider);
+		if(i >= 0 && j >= 0 && i < rubricSliders.size() && j < rubricSliders.size()) {
+			Slider tempRubricSlider = rubricSliders.get(i);
+			rubricSliders.set(i, rubricSliders.get(j));
+			rubricSliders.set(j, tempRubricSlider);
+			
+			SliderRow tempSlider = sliders.get(i);
+			sliders.set(i, sliders.get(j));
+			sliders.set(j, tempSlider);
+		}
 	}
 
 	private void doRemoveSlider(SliderRow row) {
-- 
GitLab