From: Antony Dovgal Date: Thu, 27 Oct 2005 17:26:19 +0000 (+0000) Subject: MFH: free && set to NULL S->stmt X-Git-Tag: php-5.1.0RC4~13 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c01510b950a46b53fccc4d58a03cd9d4a2189cd;p=php MFH: free && set to NULL S->stmt --- diff --git a/ext/pdo_mysql/mysql_statement.c b/ext/pdo_mysql/mysql_statement.c index 98d3990fd6..db96a43ef3 100755 --- a/ext/pdo_mysql/mysql_statement.c +++ b/ext/pdo_mysql/mysql_statement.c @@ -241,6 +241,12 @@ static int pdo_mysql_stmt_next_rowset(pdo_stmt_t *stmt TSRMLS_DC) int ret; /* ensure that we free any previous unfetched results */ +#if HAVE_MYSQL_STMT_PREPARE + if (S->stmt) { + mysql_stmt_free_result(S->stmt); + S->stmt = NULL; + } +#endif if (S->result) { mysql_free_result(S->result); S->result = NULL; @@ -567,7 +573,9 @@ static int pdo_mysql_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC) pdo_mysql_stmt *S = (pdo_mysql_stmt*)stmt->driver_data; #if HAVE_MYSQL_STMT_PREPARE if (S->stmt) { - return mysql_stmt_free_result(S->stmt); + int retval = mysql_stmt_free_result(S->stmt); + S->stmt = NULL; + return retval ? 0 : 1; } #endif if (S->result) {