logo       

cvs: ZendEngine2(PHP_5_2) / zend_vm_def.h zend_vm_execute.h php-src NEWS: msg#00053

Subject: cvs: ZendEngine2(PHP_5_2) / zend_vm_def.h zend_vm_execute.h php-src NEWS
dmitry          Sun Feb 25 16:02:45 2007 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src    NEWS 
    /ZendEngine2        zend_vm_def.h zend_vm_execute.h 
  Log:
  Fixed bug #40591 (list()="string"; gives invalid opcode)
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.562&r2=1.2027.2.547.2.563&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.562 php-src/NEWS:1.2027.2.547.2.563
--- php-src/NEWS:1.2027.2.547.2.562     Sun Feb 25 13:19:28 2007
+++ php-src/NEWS        Sun Feb 25 16:02:43 2007
@@ -15,6 +15,7 @@
 - Fixed bug #40606 (umask is not being restored when request is finished). 
   (Tony)
 - Fixed bug #40598 (libxml segfault). (Rob)
+- Fixed bug #40591 (list()="string"; gives invalid opcode). (Dmitry)
 - Fixed bug #40578 (imagettftext() multithreading issue). (Tony, Pierre)
 - Fixed bug #40576 (double values are truncated to 6 decimal digits when 
   encoding). (Tony)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.59.2.29.2.38&r2=1.59.2.29.2.39&diff_format=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.59.2.29.2.38 
ZendEngine2/zend_vm_def.h:1.59.2.29.2.39
--- ZendEngine2/zend_vm_def.h:1.59.2.29.2.38    Sat Feb 24 21:30:46 2007
+++ ZendEngine2/zend_vm_def.h   Sun Feb 25 16:02:43 2007
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_vm_def.h,v 1.59.2.29.2.38 2007/02/24 21:30:46 tony2001 Exp $ */
+/* $Id: zend_vm_def.h,v 1.59.2.29.2.39 2007/02/25 16:02:43 dmitry Exp $ */
 
 /* If you change this file, please regenerate the zend_vm_execute.h and
  * zend_vm_opcodes.h files by running:
@@ -1350,7 +1350,7 @@
        ZEND_VM_NEXT_OPCODE();
 }
 
-ZEND_VM_HANDLER(98, ZEND_FETCH_DIM_TMP_VAR, TMP, CONST)
+ZEND_VM_HANDLER(98, ZEND_FETCH_DIM_TMP_VAR, CONST|TMP, CONST)
 {
        zend_op *opline = EX(opline);
        zend_free_op free_op1;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.62.2.30.2.38&r2=1.62.2.30.2.39&diff_format=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.62.2.30.2.38 
ZendEngine2/zend_vm_execute.h:1.62.2.30.2.39
--- ZendEngine2/zend_vm_execute.h:1.62.2.30.2.38        Sat Feb 24 21:30:46 2007
+++ ZendEngine2/zend_vm_execute.h       Sun Feb 25 16:02:43 2007
@@ -2609,6 +2609,29 @@
        ZEND_VM_NEXT_OPCODE();
 }
 
+static int 
ZEND_FETCH_DIM_TMP_VAR_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       zend_op *opline = EX(opline);
+
+       zval *container = &opline->op1.u.constant;
+
+       if (Z_TYPE_P(container) != IS_ARRAY) {
+               if (!RETURN_VALUE_UNUSED(&opline->result)) {
+                       EX_T(opline->result.u.var).var.ptr_ptr = 
&EG(uninitialized_zval_ptr);
+                       PZVAL_LOCK(*EX_T(opline->result.u.var).var.ptr_ptr);
+               }
+       } else {
+
+               zval *dim = &opline->op2.u.constant;
+
+               EX_T(opline->result.u.var).var.ptr_ptr = 
zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, BP_VAR_R 
TSRMLS_CC);
+               SELECTIVE_PZVAL_LOCK(*EX_T(opline->result.u.var).var.ptr_ptr, 
&opline->result);
+
+       }
+       AI_USE_PTR(EX_T(opline->result.u.var).var);
+       ZEND_VM_NEXT_OPCODE();
+}
+
 static int ZEND_CASE_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        zend_op *opline = EX(opline);
@@ -28990,7 +29013,7 @@
        ZEND_FETCH_OBJ_UNSET_SPEC_CV_VAR_HANDLER,
        ZEND_NULL_HANDLER,
        ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV_HANDLER,
-       ZEND_NULL_HANDLER,
+       ZEND_FETCH_DIM_TMP_VAR_SPEC_CONST_CONST_HANDLER,
        ZEND_NULL_HANDLER,
        ZEND_NULL_HANDLER,
        ZEND_NULL_HANDLER,

-- 
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
linux.arklinux....    user-groups.lin...    kde.usability/2...    ietf.ipp/2002-0...    mail.spam.spamc...    os.netbsd.devel...    audio.cd-record...    text.unicode.de...    php.documentati...    games.fps.halfl...    window-managers...    suse.oracle.gen...    bug-tracking.gn...    video.dvdrip.us...    xfree86.cvs/200...    java.netbeans.m...    network.argus/2...    culture.sf.kill...    debian.ports.al...    freebsd.questio...    qplus.devel/200...    handhelds.palm....   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe