if (optional_param('savechanges', false, PARAM_BOOL) && confirm_sesskey()) {
// If rescaling is required save the new maximum.
- $maxgrade = unformat_float(optional_param('maxgrade', -1, PARAM_RAW));
- if ($maxgrade >= 0) {
+ $maxgrade = unformat_float(optional_param('maxgrade', '', PARAM_RAW_TRIMMED), true);
+ if (is_float($maxgrade) && $maxgrade >= 0) {
quiz_set_grade($maxgrade, $quiz);
quiz_update_all_final_grades($quiz);
quiz_update_grades($quiz, 0, true);