diff --git a/lib/MySQL_Session.cpp b/lib/MySQL_Session.cpp index 596b179b2..931254f27 100644 --- a/lib/MySQL_Session.cpp +++ b/lib/MySQL_Session.cpp @@ -2713,6 +2713,7 @@ void MySQL_Session::MySQL_Stmt_Result_to_MySQL_wire(MYSQL_STMT *stmt, MySQL_Conn if (stmt_result) { MySQL_ResultSet *MyRS=new MySQL_ResultSet(&client_myds->myprot, stmt_result, stmt->mysql, stmt); bool resultset_completed=MyRS->get_resultset(client_myds->PSarrayOUT); + delete MyRS; } else { MYSQL *mysql=stmt->mysql; // no result set diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index eac6e11fc..4d018bf65 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -1337,11 +1337,11 @@ void MySQL_Connection::async_free_result() { query.stmt_result=NULL; } if (query.stmt) { + mysql_stmt_free_result(query.stmt); } if (mysql_result) { mysql_free_result(mysql_result); mysql_result=NULL; - mysql_stmt_free_result(query.stmt); } async_state_machine=ASYNC_IDLE; if (MyRS) {