Merge branch 'PHP-5.3' into PHP-5.4

Conflicts:
	NEWS
This commit is contained in:
Andrey Hristov 2013-03-13 14:24:23 +01:00
commit 0777a18703
3 changed files with 12 additions and 14 deletions

4
NEWS
View file

@ -23,6 +23,10 @@ PHP NEWS
- Mbstring:
. mb_split() can now handle empty matches like preg_split() does. (Moriyoshi)
- mysqlnd
. Fixed bug #63530 (mysqlnd_stmt::bind_one_parameter crashes, uses wrong alloc
for stmt->param_bind). (Andrey)
- OpenSSL:
. New SSL stream context option to prevent CRIME attack vector. (Daniel Lowrey,
Lars)

View file

@ -1478,7 +1478,7 @@ MYSQLND_METHOD(mysqlnd_stmt, bind_one_parameter)(MYSQLND_STMT * const s, unsigne
if (stmt->param_count) {
if (!stmt->param_bind) {
stmt->param_bind = mnd_ecalloc(stmt->param_count, sizeof(MYSQLND_PARAM_BIND));
stmt->param_bind = mnd_pecalloc(stmt->param_count, sizeof(MYSQLND_PARAM_BIND), stmt->persistent);
if (!stmt->param_bind) {
DBG_RETURN(FAIL);
}

View file

@ -343,7 +343,6 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */
pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data;
pdo_mysql_db_handle *H = S->H;
long row_count;
int ret;
PDO_DBG_ENTER("pdo_mysql_stmt_next_rowset");
PDO_DBG_INF_FMT("stmt=%p", S->stmt);
@ -412,26 +411,21 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) /* {{{ */
S->result = NULL;
}
ret = mysql_next_result(H->server);
if (!mysql_more_results(H->server)) {
/* No more results */
PDO_DBG_RETURN(0);
}
#if PDO_USE_MYSQLND
/* for whatever reason mysqlnd breaks with libmysql compatibility at the C level, no -1 */
if (PASS != ret) {
if (mysql_next_result(H->server) == FAIL) {
pdo_mysql_error_stmt(stmt);
PDO_DBG_RETURN(0);
}
if (mysql_more_results(H->server)) {
PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
} else {
/* No more results */
PDO_DBG_RETURN(0);
PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
}
#else
if (ret > 0) {
if (mysql_next_result(H->server) > 0) {
pdo_mysql_error_stmt(stmt);
PDO_DBG_RETURN(0);
} else if (ret < 0) {
/* No more results */
PDO_DBG_RETURN(0);
} else {
PDO_DBG_RETURN(pdo_mysql_fill_stmt_from_result(stmt TSRMLS_CC));
}