georg           Fri Aug 13 12:27:35 2004 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src    NEWS 
    /php-src/ext/mysqli mysqli.c 
  Log:
  fixed bug #29656 (segfault on result and statement properties)
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.40&r2=1.1760.2.41&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.40 php-src/NEWS:1.1760.2.41
--- php-src/NEWS:1.1760.2.40    Fri Aug 13 03:08:45 2004
+++ php-src/NEWS        Fri Aug 13 12:27:35 2004
@@ -3,6 +3,7 @@
 ?? ??? 2004, PHP 5.0.2
 - Added PHP_EOL constant that contains the OS way of representing newlines.
   (Paul Hudson, Derick)
+- Fixed bug #29656 (segfault on result and statement properties) (Georg)
 
 12 Aug 2004, PHP 5.0.1
 - Changed destructor mechanism so that destructors are called prior to request
http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli.c?r1=1.43.2.3&r2=1.43.2.4&ty=u
Index: php-src/ext/mysqli/mysqli.c
diff -u php-src/ext/mysqli/mysqli.c:1.43.2.3 php-src/ext/mysqli/mysqli.c:1.43.2.4
--- php-src/ext/mysqli/mysqli.c:1.43.2.3        Mon Aug  9 00:33:40 2004
+++ php-src/ext/mysqli/mysqli.c Fri Aug 13 12:27:35 2004
@@ -15,7 +15,7 @@
   | Author: Georg Richter <[EMAIL PROTECTED]>                                |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli.c,v 1.43.2.3 2004/08/09 04:33:40 georg Exp $ 
+  $Id: mysqli.c,v 1.43.2.4 2004/08/13 16:27:35 georg Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -200,11 +200,21 @@
                ret = zend_hash_find(obj->prop_handler, Z_STRVAL_P(member), 
Z_STRLEN_P(member)+1, (void **) &hnd);
        }
        if (ret == SUCCESS) {
-               /* check if connection is still valid */
-               if (!obj->ptr ||
-                   !((MYSQL *)((MY_MYSQL *)((MYSQLI_RESOURCE 
*)(obj->ptr))->ptr)->mysql)->thread_id) {
-                       retval = EG(uninitialized_zval_ptr);
-                       return(retval);
+               /* check if mysqli object is still valid */
+               if (!strcmp(obj->zo.ce->name, "mysqli")) {
+                       if (!obj->ptr ||
+                       !((MYSQL *)((MY_MYSQL *)((MYSQLI_RESOURCE 
*)(obj->ptr))->ptr)->mysql)->thread_id) {
+                               retval = EG(uninitialized_zval_ptr);
+                               return(retval);
+                       }
+               } else
+               /* check if stmt object is still valid */
+               if (!strcmp(obj->zo.ce->name, "mysqli_stmt")) {
+                       if (!obj->ptr ||
+                       !((MYSQL_STMT *)((MY_STMT *)((MYSQLI_RESOURCE 
*)(obj->ptr))->ptr)->stmt)->mysql) {
+                               retval = EG(uninitialized_zval_ptr);
+                               return(retval);
+                       }
                }
 
                ret = hnd->read_func(obj, &retval TSRMLS_CC);



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

Reply via email to