diff options
author | Andrey Andreev <narf@devilix.net> | 2014-01-18 23:04:44 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2014-01-18 23:04:44 +0100 |
commit | 99e2f8e2397ec4bf3ce5637d5a660a122aaa7b1b (patch) | |
tree | 04f154dab70b07f433d987a73820034cbd7b2bbd | |
parent | a9237cb4ec63c8bc2e9dff911406c8c60aef7213 (diff) |
Fix #2829
-rw-r--r-- | system/core/Security.php | 8 |
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('~(�*[0-9a-f]{2,5});?~iS', '$1;', $str, -1, $matches); - $str = preg_replace('~(&#\d{2,4});?~S', '$1;', $str, -1, $matches1); + $str = preg_replace('/(�*[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; } |