diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index a9e464fa641..cf341d3599a 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -708,8 +708,10 @@ static void _php_mb_regex_ereg_exec(INTERNAL_FUNCTION_PARAMETERS, int icase) string_len, _php_mb_regex_mbctype2name(MBREX(current_mbctype)) )) { - zval_dtor(array); - array_init(array); + if (array != NULL) { + zval_dtor(array); + array_init(array); + } RETURN_FALSE; } diff --git a/ext/mbstring/tests/bug73532.phpt b/ext/mbstring/tests/bug73532.phpt new file mode 100644 index 00000000000..0bc838b0755 --- /dev/null +++ b/ext/mbstring/tests/bug73532.phpt @@ -0,0 +1,8 @@ +--TEST-- +Bug #73532 (Null pointer dereference in mb_eregi) +--FILE-- + +--EXPECTF-- +bool(false)