cvs: php-src(PHP_5_2) /ext/spl spl_iterators.c
| From: | Hannes Magnusson | Date: | Fri, 03 Nov 2006 14:11:23 +0000 |
| Subject: | cvs: php-src(PHP_5_2) /ext/spl spl_iterators.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41302@lists.php.net to get a copy of this message | ||
bjori Fri Nov 3 14:11:23 2006 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/spl spl_iterators.c
Log:
MFH: fix crash on invalid regex
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl_iterators.c?r1=1.73.2.30.2.17&r2=1.73.2.30.2.18&diff_format=u
Index: php-src/ext/spl/spl_iterators.c
diff -u php-src/ext/spl/spl_iterators.c:1.73.2.30.2.17
php-src/ext/spl/spl_iterators.c:1.73.2.30.2.18
--- php-src/ext/spl/spl_iterators.c:1.73.2.30.2.17 Fri Jul 21 21:26:11 2006
+++ php-src/ext/spl/spl_iterators.c Fri Nov 3 14:11:23 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: spl_iterators.c,v 1.73.2.30.2.17 2006/07/21 21:26:11 helly Exp $ */
+/* $Id: spl_iterators.c,v 1.73.2.30.2.18 2006/11/03 14:11:23 bjori Exp $ */
#ifdef HAVE_CONFIG_H
# include "config.h"
@@ -1012,8 +1012,13 @@
intern->u.regex.mode = mode;
intern->u.regex.regex = estrndup(regex, regex_len);
intern->u.regex.pce = pcre_get_compiled_regex_cache(regex, regex_len TSRMLS_CC);
+ if (intern->u.regex.pce == NULL) {
+ /* pcre_get_compiled_regex_cache has already sent error */
+ php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);
+ return NULL;
+ }
intern->u.regex.pce->refcount++;
- break;;
+ break;
}
#endif
default: