cvs: php-src /ext/mysqli mysqli.c
| From: | Georg Richter | Date: | Fri, 13 Aug 2004 16:25:30 +0000 |
| Subject: | cvs: php-src /ext/mysqli mysqli.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-28335@lists.php.net to get a copy of this message | ||
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 <georg@php.net> |
+----------------------------------------------------------------------+
- $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);