diff options
author | Remi Collet <remi@php.net> | 2014-02-27 08:50:07 +0100 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2014-02-27 08:50:07 +0100 |
commit | fa01db3466348004dc6b98696f458851830f6431 (patch) | |
tree | 65fa67a93dac14c0829108215364b201f676d98b /ext/mysqli/mysqli.c | |
parent | 42a43d45317ac93c2ba934486879a0bc418bc34d (diff) | |
parent | cb0e6124d4999c3fb64c3aab36dbcd5541e3008a (diff) | |
download | php-git-fa01db3466348004dc6b98696f458851830f6431.tar.gz |
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
NEWS
NEWS
test for bug #66762
Fixed Bug #66762 Segfault in mysqli_stmt::bind_result() when link closed
Diffstat (limited to 'ext/mysqli/mysqli.c')
-rw-r--r-- | ext/mysqli/mysqli.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 2a5a8c61ff..0cea68a33f 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -176,8 +176,11 @@ void php_clear_stmt_bind(MY_STMT *stmt TSRMLS_DC) php_free_stmt_bind_buffer(stmt->param, FETCH_SIMPLE); /* Clean output bind */ php_free_stmt_bind_buffer(stmt->result, FETCH_RESULT); -#endif + if (stmt->link_handle) { + zend_objects_store_del_ref_by_handle(stmt->link_handle TSRMLS_CC); + } +#endif if (stmt->query) { efree(stmt->query); } @@ -1071,6 +1074,10 @@ PHP_FUNCTION(mysqli_stmt_construct) efree(stmt); RETURN_FALSE; } +#ifndef MYSQLI_USE_MYSQLND + stmt->link_handle = Z_OBJ_HANDLE(*mysql_link); + zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC); +#endif mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); mysqli_resource->ptr = (void *)stmt; |