summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
authorvenu@myvenu.com <>2003-01-28 09:24:27 -0800
committervenu@myvenu.com <>2003-01-28 09:24:27 -0800
commit79e1fd8d0e447cf24bfb921dc6042f5895c555a3 (patch)
treea6bf83ef5908addde61edd50f2a9bf51a2ecc1c1 /libmysql
parentcb00984a41207e9fec9c7fca814f1bdf51e11abb (diff)
downloadmariadb-git-79e1fd8d0e447cf24bfb921dc6042f5895c555a3.tar.gz
Fix leak when the client disconnects with open prep statements
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/libmysql.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 2b97f6b90e4..5825c055305 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -5299,14 +5299,11 @@ static my_bool stmt_close(MYSQL_STMT *stmt, my_bool skip_list)
int4store(buff, stmt->stmt_id);
error= simple_command(stmt->mysql, COM_CLOSE_STMT, buff, 4, 1);
}
- if (!error)
- {
- mysql_free_result(stmt->result);
- free_root(&stmt->mem_root, MYF(0));
- if (!skip_list)
- stmt->mysql->stmts= list_delete(stmt->mysql->stmts, &stmt->list);
- my_free((gptr) stmt, MYF(MY_WME));
- }
+ mysql_free_result(stmt->result);
+ free_root(&stmt->mem_root, MYF(0));
+ if (!skip_list)
+ stmt->mysql->stmts= list_delete(stmt->mysql->stmts, &stmt->list);
+ my_free((gptr) stmt, MYF(MY_WME));
DBUG_RETURN(error);
}