MDL-42839 MUC: Memcache server configuration too sensitive to whitespace
authorsam marshall <s.marshall@open.ac.uk>
Tue, 12 Nov 2013 12:23:10 +0000 (12:23 +0000)
committersam marshall <s.marshall@open.ac.uk>
Tue, 12 Nov 2013 12:33:36 +0000 (12:33 +0000)
cache/stores/memcache/lib.php
cache/stores/memcached/lib.php

index 1569da6..c71f108 100644 (file)
@@ -350,7 +350,12 @@ class cachestore_memcache extends cache_store implements cache_is_configurable {
         $lines = explode("\n", $data->servers);
         $servers = array();
         foreach ($lines as $line) {
-            $line = trim($line, ':');
+            // Trim surrounding colons and default whitespace.
+            $line = trim(trim($line), ":");
+            // Skip blank lines.
+            if ($line === '') {
+                continue;
+            }
             $servers[] = explode(':', $line, 3);
         }
         return array(
index 508628e..1bce7aa 100644 (file)
@@ -374,7 +374,12 @@ class cachestore_memcached extends cache_store implements cache_is_configurable
         $lines = explode("\n", $data->servers);
         $servers = array();
         foreach ($lines as $line) {
-            $line = trim($line, ':');
+            // Trim surrounding colons and default whitespace.
+            $line = trim(trim($line), ":");
+            // Skip blank lines.
+            if ($line === '') {
+                continue;
+            }
             $servers[] = explode(':', $line, 3);
         }
         return array(