com php-src: Fixed pdo_mysql build with mysqlnd: ex t/pdo_mysql/mysql_driver.c ext/pdo_mysql/mysql_stat ement.c ext/pdo_mysql/pdo_mysql.c
| From: | Xinchen Hui | Date: | Thu, 19 Jun 2014 15:00:45 +0000 |
| Subject: | com php-src: Fixed pdo_mysql build with mysqlnd: ex t/pdo_mysql/mysql_driver.c ext/pdo_mysql/mysql_stat ement.c ext/pdo_mysql/pdo_mysql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-78990@lists.php.net to get a copy of this message | ||
Commit: 73630a1fdc3f740110792682618b6a33ae8bc46e
Author: Xinchen Hui <laruence@php.net> Thu, 19 Jun 2014 23:00:45 +0800
Parents: 33aa5eb6b636b162a4c8aec374a04c03e217ec8c
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=73630a1fdc3f740110792682618b6a33ae8bc46e
Log:
Fixed pdo_mysql build with mysqlnd
Changed paths:
M ext/pdo_mysql/mysql_driver.c
M ext/pdo_mysql/mysql_statement.c
M ext/pdo_mysql/pdo_mysql.c
Diff:
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index fcc395d..d7c9935 100644
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
@@ -444,7 +444,8 @@ static int pdo_mysql_get_attribute(pdo_dbh_t *dbh, long attr, zval *return_value
unsigned int tmp_len;
if (mysqlnd_stat(H->server, &tmp, &tmp_len) == PASS) {
- ZVAL_STRINGL(return_value, tmp, tmp_len, 0);
+ ZVAL_STRINGL(return_value, tmp, tmp_len);
+ efree(tmp);
#else
if ((tmp = (char *)mysql_stat(H->server))) {
ZVAL_STRING(return_value, tmp);
diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c
index 18d960c..2c0fc85 100644
--- a/ext/pdo_mysql/mysql_statement.c
+++ b/ext/pdo_mysql/mysql_statement.c
@@ -746,7 +746,7 @@ static int pdo_mysql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsig
}
#if PDO_USE_MYSQLND
if (S->stmt) {
- Z_ADDREF_P(S->stmt->data->result_bind[colno].zv);
+ Z_TRY_ADDREF(S->stmt->data->result_bind[colno].zv);
*ptr = (char*)&S->stmt->data->result_bind[colno].zv;
*len = sizeof(zval);
PDO_DBG_RETURN(1);
diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c
index 6f4e9d5..c3a90fe 100644
--- a/ext/pdo_mysql/pdo_mysql.c
+++ b/ext/pdo_mysql/pdo_mysql.c
@@ -62,7 +62,7 @@ ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql)
static MYSQLND * pdo_mysql_convert_zv_to_mysqlnd(zval * zv TSRMLS_DC)
{
if (Z_TYPE_P(zv) == IS_OBJECT && instanceof_function(Z_OBJCE_P(zv), php_pdo_get_dbh_ce()
TSRMLS_CC)) {
- pdo_dbh_t * dbh = zend_object_store_get_object(zv TSRMLS_CC);
+ pdo_dbh_t * dbh = Z_PDO_DBH_P(zv);
if (!dbh) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to retrieve handle from object
store");