From 7c01510b950a46b53fccc4d58a03cd9d4a2189cd Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Thu, 27 Oct 2005 17:26:19 +0000 Subject: [PATCH] MFH: free && set to NULL S->stmt --- ext/pdo_mysql/mysql_statement.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) { -- 2.50.1