Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:34266 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 76447 invoked by uid 1010); 28 Dec 2007 09:47:44 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 76432 invoked from network); 28 Dec 2007 09:47:44 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Dec 2007 09:47:44 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from [212.25.124.162] ([212.25.124.162:62225] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 36/33-54638-F36C4774 for ; Fri, 28 Dec 2007 04:47:44 -0500 Received: (qmail 17672 invoked from network); 28 Dec 2007 09:47:40 -0000 Received: from mail.zend.net (HELO ?127.0.0.1?) (10.1.1.1) by cvs.zend.com with SMTP; 28 Dec 2007 09:47:40 -0000 Message-ID: <4774C639.9030603@zend.com> Date: Fri, 28 Dec 2007 12:47:37 +0300 User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: phpxcache CC: php-dev List References: <28139bc0712280112t2f2952e9s2ea3821f452f4074@mail.gmail.com> In-Reply-To: <28139bc0712280112t2f2952e9s2ea3821f452f4074@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [bug in php5.3 cvs] op2 of OP_DATA which after INIT_NS_FCALL_BY_NAME is uninitialized From: dmitry@zend.com (Dmitry Stogov) Thanks for catching this. Committed. Dmitry. phpxcache wrote: > http://bugs.php.net/bug.php?id=43696 > Description: > ------------ > as you can see in zend_compile.c > opline->opcode = ZEND_INIT_NS_FCALL_BY_NAME; > ZEND_INIT_NS_FCALL_BY_NAME's op1 is initialized, so is op2 > ......... > opline->opcode = ZEND_OP_DATA; > ZEND_OP_DATA's op1 is initialized here but op2 is not > > it may not cause problem in zend executor but may in opcode > optimizers/cachers > > suggested fix: > Index: zend_compile.c > =================================================================== > RCS file: /repository/ZendEngine2/zend_compile.c,v > retrieving revision 1.647.2.27.2.41.2.32 > diff -u -r1.647.2.27.2.41.2.32 zend_compile.c > --- zend_compile.c 27 Dec 2007 13:52:05 -0000 1.647.2.27.2.41.2.32 > +++ zend_compile.c 28 Dec 2007 08:56:41 -0000 > @@ -1504,6 +1504,7 @@ > Z_TYPE(opline->op1.u.constant) = IS_STRING; > Z_STRLEN(opline->op1.u.constant) = > Z_STRLEN(function_name->u.constant) - prefix_len; > Z_STRVAL(opline->op1.u.constant) = > zend_str_tolower_dup(Z_STRVAL(function_name->u.constant) + prefix_len, > Z_STRLEN(opline->op1.u.constant)); > + SET_UNUSED(opline->op2); > opline->extended_value = > zend_hash_func(Z_STRVAL(opline->op1.u.constant), > Z_STRLEN(opline->op1.u.constant) + 1); > } else { > opline->opcode = ZEND_INIT_FCALL_BY_NAME; >