diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-06-12 00:57:10 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-06-12 00:57:10 +0400 |
commit | edb064e2eea732e44fb2b9dd5b91fd532bf92654 (patch) | |
tree | 57a619a5a6ffa7a3688969e7146b53530d12eebd /ext/mysqli/mysqli_api.c | |
parent | bccd4184a59cce6b4d0e3aff7fb20ac1ead0f0be (diff) | |
download | php-git-edb064e2eea732e44fb2b9dd5b91fd532bf92654.tar.gz |
Fixed call to mysqli_init() from an object. (We should find some better fix)
Diffstat (limited to 'ext/mysqli/mysqli_api.c')
-rw-r--r-- | ext/mysqli/mysqli_api.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqli/mysqli_api.c b/ext/mysqli/mysqli_api.c index 1b2c7998b2..f5dd2749d1 100644 --- a/ext/mysqli/mysqli_api.c +++ b/ext/mysqli/mysqli_api.c @@ -1475,7 +1475,14 @@ void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS) MYSQLI_RESOURCE *mysqli_resource; MY_MYSQL *mysql; - if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) { +// TODO: We can't properly check if this was to mysql_init() in a class method +// or a call to mysqli->init(). +// To solve the problem, we added instanceof check for the class of $this +// ??? + if (getThis() && + instanceof_function(Z_OBJCE_P(getThis()), mysqli_link_class_entry TSRMLS_CC) && + (Z_MYSQLI_P(getThis()))->ptr) { +//??? if (getThis() && (Z_MYSQLI_P(getThis()))->ptr) { return; } |