From 91b568e65d8b6f3126147afa5168eae24008e5e3 Mon Sep 17 00:00:00 2001 From: Andrey Hristov Date: Thu, 14 Feb 2008 14:48:57 +0000 Subject: [PATCH] Fix memory errors --- ext/mysqlnd/mysqlnd_ps.c | 2 ++ ext/mysqlnd/mysqlnd_wireprotocol.c | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ext/mysqlnd/mysqlnd_ps.c b/ext/mysqlnd/mysqlnd_ps.c index 33b03a0a51..94df285e66 100644 --- a/ext/mysqlnd/mysqlnd_ps.c +++ b/ext/mysqlnd/mysqlnd_ps.c @@ -513,6 +513,8 @@ MYSQLND_METHOD(mysqlnd_stmt, execute)(MYSQLND_STMT * const stmt TSRMLS_DC) } stmt->execute_count++; + CONN_SET_STATE(conn, CONN_QUERY_SENT); + ret = mysqlnd_query_read_result_set_header(stmt->conn, stmt TSRMLS_CC); if (ret == FAIL) { stmt->error_info = conn->error_info; diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index 40c6d74442..c030d711f9 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -733,7 +733,7 @@ static void php_mysqlnd_auth_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) { if (!alloca) { - mnd_efree((php_mysql_packet_auth *) _packet); + mnd_pefree((php_mysql_packet_auth *) _packet, ((php_mysql_packet_auth *)_packet)->header.persistent); } } /* }}} */ @@ -807,7 +807,7 @@ void php_mysqlnd_ok_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) p->message = NULL; } if (!alloca) { - mnd_efree(p); + mnd_pefree(p, p->header.persistent); } } /* }}} */ @@ -877,7 +877,7 @@ static void php_mysqlnd_eof_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) { if (!alloca) { - mnd_efree(_packet); + mnd_pefree(_packet, ((php_mysql_packet_eof *)_packet)->header.persistent); } } /* }}} */ @@ -949,7 +949,7 @@ static void php_mysqlnd_cmd_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) { if (!alloca) { - mnd_efree((php_mysql_packet_command *) _packet); + mnd_pefree(_packet, ((php_mysql_packet_command *)_packet)->header.persistent); } } /* }}} */ @@ -1036,7 +1036,7 @@ void php_mysqlnd_rset_header_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) p->info_or_local_file = NULL; } if (!alloca) { - mnd_efree(p); + mnd_pefree(p, p->header.persistent); } } /* }}} */ @@ -1227,7 +1227,7 @@ void php_mysqlnd_rset_field_free_mem(void *_packet, zend_bool alloca TSRMLS_DC) /* p->metadata was passed to us as temporal buffer */ if (!alloca) { - mnd_efree(p); + mnd_pefree(p, p->header.persistent); } } /* }}} */ -- 2.40.0