From: Wez Furlong Date: Sat, 22 Apr 2006 16:35:18 +0000 (+0000) Subject: avoid unterminated loop when closing the statement. X-Git-Tag: php-5.1.3~22 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64de59d9a7c94291799065cc32b60f8d9e5d92b9;p=php avoid unterminated loop when closing the statement. --- diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 4d7754a7e2..920702b3c9 100755 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -69,11 +69,14 @@ static int pdo_mysql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) #endif #if HAVE_MYSQL_NEXT_RESULT while (mysql_more_results(S->H->server)) { - if (mysql_next_result(S->H->server) == 0) { - MYSQL_RES *res = mysql_store_result(S->H->server); - if (res) { - mysql_free_result(res); - } + MYSQL_RES *res; + if (mysql_next_result(S->H->server) != 0) { + break; + } + + res = mysql_store_result(S->H->server); + if (res) { + mysql_free_result(res); } } #endif @@ -602,11 +605,13 @@ static int pdo_mysql_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC) } #if HAVE_MYSQL_NEXT_RESULT while (mysql_more_results(S->H->server)) { - if (mysql_next_result(S->H->server) == 0) { - MYSQL_RES *res = mysql_store_result(S->H->server); - if (res) { - mysql_free_result(res); - } + MYSQL_RES *res; + if (mysql_next_result(S->H->server) != 0) { + break; + } + res = mysql_store_result(S->H->server); + if (res) { + mysql_free_result(res); } } #endif