moriyoshi               Sat Feb 28 19:26:37 2004 EDT

  Modified files:              
    /php-src/ext/session        session.c 
  Log:
  - Fix segfaults on deserialisation of referenced variables.
  # ALLOC_INIT_ZVAL() initialises the type field to IS_NULL, while
  # MAKE_STD_ZVAL() doesn't. This caused a kind of random crash
  # when zval_ptr_dtor() was applied on an intact zval created by
  # the latter method.
  #
  # Please check relevant bugs again. There should be some that
  # have already been marked as bogus.
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.385&r2=1.386&ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.385 php-src/ext/session/session.c:1.386
--- php-src/ext/session/session.c:1.385 Tue Feb 24 03:47:35 2004
+++ php-src/ext/session/session.c       Sat Feb 28 19:26:36 2004
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: session.c,v 1.385 2004/02/24 08:47:35 sniper Exp $ */
+/* $Id: session.c,v 1.386 2004/02/29 00:26:36 moriyoshi Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -498,7 +498,7 @@
                q++;
                
                if (has_value) {
-                       MAKE_STD_ZVAL(current);
+                       ALLOC_INIT_ZVAL(current);
                        if (php_var_unserialize(&current, &q, endptr, &var_hash 
TSRMLS_CC)) {
                                php_set_session_var(name, namelen, current, &var_hash 
TSRMLS_CC);
                        }

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

Reply via email to