[PHP-dev 886]Re: mb_ereg_replaceについて

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2003年 9月 20日 (土) 20:12:37 JST


小泉です。

> > また、マルチバイト正規表現の処理に oniguruma が組み込まれている、
> > CVS 版の php5-200309180130 でも試してみましたが、Segmentation fault を
> > 起こします。
> > 
> > $ php -v
> > PHP 5.0.0b2-dev (cli) (built: Sep 18 2003 17:01:41)
> > Copyright (c) 1997-2003 The PHP Group
> > Zend Engine v2.0.0-dev, Copyright (c) 1998-2003 Zend Technologies
> > 
> > $ php -r 'mb_ereg_replace( "C*$", "Z", "ABC" );'
> > セグメンテーション違反です
> 
> とりあえず再現しましたのでご報告します。
> 20030912頃のスナップショットです。

どうも、ご報告ありがとうございます。
私のテストが十分ではなかったようです。

> #0  0x40265b7b in memcpy (dstpp=0x4032598d, srcpp=0x4032590c, len=4294967292)
>     at ../sysdeps/generic/memcpy.c:55
> 55  ../sysdeps/generic/memcpy.c: No such file or directory.
>     in ../sysdeps/generic/memcpy.c
> (gdb) bt
> #0  0x40265b7b in memcpy (dstpp=0x4032598d, srcpp=0x4032590c, len=4294967292)
>     at ../sysdeps/generic/memcpy.c:55
> #1  0x0808d7ab in _php_mb_regex_ereg_replace_exec (ht=3, return_value=0x40325944, this_ptr=0x0,
>     return_value_used=0, option=12) at /usr/local/src/php-src/ext/mbstring/php_mbregex.c:656

こちらでも確認してみますが、php_mbregex.c のバグのようですね。
どうやら、鬼車や ruby-regex のバグではないようです。

# 現在自宅のマシンがクラッシュしてしまいまして、
# 目下復旧中ですので、どなたか見ていただけると助かります ^^;




PHP-dev メーリングリストの案内