georg Fri Aug 13 12:25:30 2004 EDT Modified files: /php-src/ext/mysqli mysqli.c Log: fixed bug #29656 (segfault on result and statement properties) http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli.c?r1=1.49&r2=1.50&ty=u Index: php-src/ext/mysqli/mysqli.c diff -u php-src/ext/mysqli/mysqli.c:1.49 php-src/ext/mysqli/mysqli.c:1.50 --- php-src/ext/mysqli/mysqli.c:1.49 Mon Aug 9 00:34:01 2004 +++ php-src/ext/mysqli/mysqli.c Fri Aug 13 12:25:29 2004 @@ -15,7 +15,7 @@ | Author: Georg Richter <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli.c,v 1.49 2004/08/09 04:34:01 georg Exp $ + $Id: mysqli.c,v 1.50 2004/08/13 16:25:29 georg Exp $ */ #ifdef HAVE_CONFIG_H @@ -200,11 +200,22 @@ 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