moriyoshi Wed Apr 2 19:15:58 2003 EDT Modified files: (Branch: PHP_4_3) /php4/ext/mbstring php_mbregex.c Log: MFH(r-1.38): fixed segfault in mb_ereg_match() Index: php4/ext/mbstring/php_mbregex.c diff -u php4/ext/mbstring/php_mbregex.c:1.18.2.6 php4/ext/mbstring/php_mbregex.c:1.18.2.7 --- php4/ext/mbstring/php_mbregex.c:1.18.2.6 Wed Apr 2 19:05:01 2003 +++ php4/ext/mbstring/php_mbregex.c Wed Apr 2 19:15:58 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mbregex.c,v 1.18.2.6 2003/04/03 00:05:01 moriyoshi Exp $ */ +/* $Id: php_mbregex.c,v 1.18.2.7 2003/04/03 00:15:58 moriyoshi Exp $ */ #ifdef HAVE_CONFIG_H @@ -685,7 +685,8 @@ Regular expression match for multibyte string */ PHP_FUNCTION(mb_ereg_match) { - zval *arg_pattern; + char *arg_pattern; + int arg_pattern_len; char *string; int string_len; @@ -698,8 +699,8 @@ char *option_str = NULL; int option_str_len = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zs|s", - &arg_pattern, &string, &string_len, + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|s", + &arg_pattern, &arg_pattern_len, &string, &string_len, &option_str, &option_str_len)==FAILURE) { RETURN_FALSE; } @@ -710,12 +711,11 @@ option |= MBSTRG(regex_default_options); } } - convert_to_string_ex(&arg_pattern); err = php_mbregex_compile_pattern( &re, - Z_STRVAL_P(arg_pattern), - Z_STRLEN_P(arg_pattern), + arg_pattern, + arg_pattern_len, option, MBSTRG(current_mbctype) TSRMLS_CC); if (err) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php