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

Reply via email to