From: Xinchen Hui Date: Thu, 19 Jun 2014 15:00:45 +0000 (+0800) Subject: Fixed pdo_mysql build with mysqlnd X-Git-Tag: POST_PHPNG_MERGE~167 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73630a1fdc3f740110792682618b6a33ae8bc46e;p=php Fixed pdo_mysql build with mysqlnd --- diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index fcc395d65a..d7c993509f 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 18d960cadb..2c0fc85383 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 6f4e9d5265..c3a90fedac 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");