back out method chaining, some verions of PCRE throw errors

This commit is contained in:
monte.ohrt
2008-12-08 15:10:03 +00:00
parent 9deaa6a7bf
commit 835fd9e69d
3 changed files with 13 additions and 7 deletions

15
NEWS
View File

@@ -1,9 +1,14 @@
- fix function injection security hole closed (U.Tews)
- fix pass expiration time at cache_handler_fuc call in core.write_cache_file.php
(U.Tews)
- Update of compiler.class.php to allow method chaining for PHP4 and PHP5
(U.Tews)
- back out method chaining, bug in some versions of PCRE causes errors (mohrt)
Version 2.6.21 (Dec 2nd, 2008)
------------------------------
- fix function injection security hole closed (U.Tews)
- fix pass expiration time at cache_handler_fuc call in core.write_cache_file.php (U.Tews)
- Update of compiler.class.php to allow method chaining for PHP4 and PHP5 (U.Tews)
Version 2.6.20 (Feb 15th, 2008)
-------------------------------
- fix cache tag bug when multiple cache tags on a page (mankyd,
mohrt)

View File

@@ -90,7 +90,8 @@ $smarty->assign('EmailAddress','smarty@example.com');
'Stiff Opposition Expected to Casketless Funeral Plan'
<a href="?title={$articleTitle|escape:'url'}">click here</a>
<a href="?title=%27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27">click here</a>
<a
href="?title=%27Stiff%20Opposition%20Expected%20to%20Casketless%20Funeral%20Plan%27">click here</a>
{$articleTitle|escape:'quotes'}
\'Stiff Opposition Expected to Casketless Funeral Plan\'

View File

@@ -170,7 +170,7 @@ class Smarty_Compiler extends Smarty {
$this->_obj_params_regexp = '\((?:' . $this->_obj_single_param_regexp
. '(?:\s*,\s*' . $this->_obj_single_param_regexp . ')*)?\)';
$this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . ')+)';
$this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . '(?:' . $this->_obj_ext_regexp . '(?:'.$this->_obj_params_regexp . ')?)*' . ')?(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?)';
$this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?(?:' . $this->_dvar_math_regexp . '(?:' . $this->_num_const_regexp . '|' . $this->_dvar_math_var_regexp . ')*)?)';
// matches valid modifier syntax:
// |foo