From 6bff753746b0cfa488d9e211fa632c61d361a53d Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Thu, 27 Sep 2012 14:29:26 +0800 Subject: [PATCH] MDL-31782 core_grade: fixed a potential infinite loop --- lib/grade/grade_category.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/grade/grade_category.php b/lib/grade/grade_category.php index d87a8d548b5..c428adf9125 100644 --- a/lib/grade/grade_category.php +++ b/lib/grade/grade_category.php @@ -917,7 +917,10 @@ class grade_category extends grade_object { $i = 1; while ($originalindex+$i < count($grade_keys)) { + $possibleitemid = $grade_keys[$originalindex+$i]; + $i++; + if ($grade_values[$founditemid] != $grade_values[$possibleitemid]) { // The next grade item has a different grade. Stop looking. break; @@ -934,8 +937,6 @@ class grade_category extends grade_object { $founditemid = $possibleitemid; // Continue searching to see if there is an even higher grademax... } - - $i++; } // Now drop whatever grade item we have found