PHP 4 NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Oct 2005, Version 4.4.1
+- Fixed bug #34790 (preg_match_all(), named capturing groups, variable
+ assignment/return => crash). (Dmitry)
- Fixed bug #34704 (Infinite recursion due to corrupt JPEG). (Marcus)
- Fixed bug #33383 (crash when retrieving empty LOBs). (Tony)
if (subpat_names[i]) {
zend_hash_update(Z_ARRVAL_P(subpats), subpat_names[i],
strlen(subpat_names[i])+1, &match_sets[i], sizeof(zval *), NULL);
+ ZVAL_ADDREF(match_sets[i]);
}
zend_hash_next_index_insert(Z_ARRVAL_P(subpats), &match_sets[i], sizeof(zval *), NULL);
}
--- /dev/null
+--TEST--
+Bug #34790 (preg_match_all(), named capturing groups, variable assignment/return => crash)
+--FILE--
+<?php
+function func1(){
+ $string = 'what the word and the other word the';
+ preg_match_all('/(?P<word>the)/', $string, $matches);
+ return $matches['word'];
+}
+$words = func1();
+var_dump($words);
+?>
+--EXPECT--
+array(4) {
+ [0]=>
+ string(3) "the"
+ [1]=>
+ string(3) "the"
+ [2]=>
+ string(3) "the"
+ [3]=>
+ string(3) "the"
+}