]> granicus.if.org Git - php/commitdiff
MFH: fix crash on invalid regex
authorHannes Magnusson <bjori@php.net>
Fri, 3 Nov 2006 14:11:23 +0000 (14:11 +0000)
committerHannes Magnusson <bjori@php.net>
Fri, 3 Nov 2006 14:11:23 +0000 (14:11 +0000)
ext/spl/spl_iterators.c

index 195c50035582a653328c7ce2a51ad0fcde434030..eadb2ed6912473f485454b7a8e01dbfa037e9546 100755 (executable)
@@ -1012,8 +1012,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: