summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2014-01-18 23:04:44 +0100
committerAndrey Andreev <narf@devilix.net>2014-01-18 23:04:44 +0100
commit99e2f8e2397ec4bf3ce5637d5a660a122aaa7b1b (patch)
tree04f154dab70b07f433d987a73820034cbd7b2bbd
parenta9237cb4ec63c8bc2e9dff911406c8c60aef7213 (diff)
Fix #2829
-rw-r--r--system/core/Security.php8
1 files changed, 4 insertions, 4 deletions
diff --git a/system/core/Security.php b/system/core/Security.php
index 0944fef92..4c01da2b8 100644
--- a/system/core/Security.php
+++ b/system/core/Security.php
@@ -551,13 +551,13 @@ class CI_Security {
do
{
- $matches = $matches1 = 0;
+ $m1 = $m2 = 0;
- $str = preg_replace('~(&#x0*[0-9a-f]{2,5});?~iS', '$1;', $str, -1, $matches);
- $str = preg_replace('~(&#\d{2,4});?~S', '$1;', $str, -1, $matches1);
+ $str = preg_replace('/(&#x0*[0-9a-f]{2,5})(?![0-9a-f;])/iS', '$1;', $str, -1, $m1);
+ $str = preg_replace('/(&#\d{2,4})(?![0-9;])/S', '$1;', $str, -1, $m2);
$str = html_entity_decode($str, ENT_COMPAT, $charset);
}
- while ($matches OR $matches1);
+ while ($m1 OR $m2);
return $str;
}