[PHP-users 18789] Re: PHP 4.3.4 Release Announcement

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 11月 4日 (火) 18:03:46 JST


重松です。こんにちは。
沢田さん、情報ありがとうございます。

> > Bug #25547 (error_handler and array index with function call)
> > [tests/lang/bug25547.phpt]
> 
> こっちは、http://bugs.php.net/bug.php?id=25547 にあった
> Zend/zend_execute.c のパッチで解消しました。
> こちらの環境
>  SunOS 5.8 Generic_108529-23 i86pc i386 i86pc + gcc-3.3.2
>  SunOS 5.8 Generic_108528-15 sun4m sparc + gcc-3.3.2
> 正しい方法かどうかは、不明です。

このパッチというのは、

diff -u -u -r1.316.2.21 zend_execute.c
--- Zend/zend_execute.c 30 Jul 2003 16:33:54 -0000      1.316.2.21
+++ Zend/zend_execute.c 15 Oct 2003 12:17:10 -0000
@@ -626,7 +626,7 @@
                        offset_key_length = 0;
                        goto fetch_string_dim;
                case IS_STRING:
-                       offset_key = dim->value.str.val;
+                       offset_key = estrndup(dim->value.str.val,
dim->value.str.len);
                        offset_key_length = dim->value.str.len;

 fetch_string_dim:

という部分でしょうか?

英語の部分の説明はいまいち苦手なのでよくよく理解できてない可能性があるん
ですが、おそらくいわんとしている事は、

	(1) dim->value.str.val はどこかで上書きして壊される
	(2) だから、コピーを作らないといけない
	(3) だけど、開放しないから、メモリリークするかもね

ということのような気がします。

いずれにしても、estrndup したら、efree (でしたっけ?) で開放しないといけ
ないはずですが、efree する部分を対で持っていないので、メモリリークバグを
仕込むと推測しています。

いかがなものでしょうか?>Zend Engine に詳しいお方

> > Bug #25665 (var_dump () hangs on Nan and INF) [ext/standard/tests/math/bug25665.phpt]
> こっちは、http://bugs.php.net/bug.php?id=25665
> で、CVSではFIXされているとの内容ですが、Solarisではまだ出るようです。

う〜む、そうですか。他力本願ですが、実害がないので、直ることを気長に待ち
ます。(汗)

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>



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