From: Hannes Magnusson Date: Tue, 31 Oct 2006 23:57:29 +0000 (+0000) Subject: Fix segfault on invalid regex X-Git-Tag: RELEASE_1_0_0RC1~1161 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d9c61f95c659cb4975dbba57d2acdfe15a136702;p=php Fix segfault on invalid regex --- diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index ccda8aa96c..a3d0687f81 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -1021,8 +1021,13 @@ static spl_dual_it_object* spl_dual_it_construct(INTERNAL_FUNCTION_PARAMETERS, z 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: