From e995de87e2216f4a118c575a545d836e9560a0cc Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Wed, 29 Sep 2010 21:50:11 +0000 Subject: [PATCH] MDL-24446 prevent problems with invalid values of CFG->maxbytes --- lib/moodlelib.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 49b7761cf49..1eb9653eafe 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -5325,19 +5325,20 @@ function get_max_upload_sizes($sitebytes=0, $coursebytes=0, $modulebytes=0) { return array(); } - $filesize[$maxsize] = display_size($maxsize); + $filesize[intval($maxsize)] = display_size($maxsize); $sizelist = array(10240, 51200, 102400, 512000, 1048576, 2097152, 5242880, 10485760, 20971520, 52428800, 104857600); // Allow maxbytes to be selected if it falls outside the above boundaries - if( isset($CFG->maxbytes) && !in_array($CFG->maxbytes, $sizelist) ){ - $sizelist[] = $CFG->maxbytes; + if (isset($CFG->maxbytes) && !in_array(get_real_size($CFG->maxbytes), $sizelist)) { + // note: get_real_size() is used in order to prevent problems with invalid values + $sizelist[] = get_real_size($CFG->maxbytes); } foreach ($sizelist as $sizebytes) { if ($sizebytes < $maxsize) { - $filesize[$sizebytes] = display_size($sizebytes); + $filesize[intval($sizebytes)] = display_size($sizebytes); } } @@ -5492,7 +5493,7 @@ function display_size($size) { } else if ($size >= 1024) { $size = round($size / 1024 * 10) / 10 . $kb; } else { - $size = $size .' '. $b; + $size = intval($size) .' '. $b; // file sizes over 2GB can not work in 32bit PHP anyway } return $size; } -- 2.17.1