diff options
author | venu@myvenu.com <> | 2003-01-28 09:24:27 -0800 |
---|---|---|
committer | venu@myvenu.com <> | 2003-01-28 09:24:27 -0800 |
commit | 79e1fd8d0e447cf24bfb921dc6042f5895c555a3 (patch) | |
tree | a6bf83ef5908addde61edd50f2a9bf51a2ecc1c1 /libmysql | |
parent | cb00984a41207e9fec9c7fca814f1bdf51e11abb (diff) | |
download | mariadb-git-79e1fd8d0e447cf24bfb921dc6042f5895c555a3.tar.gz |
Fix leak when the client disconnects with open prep statements
Diffstat (limited to 'libmysql')
-rw-r--r-- | libmysql/libmysql.c | 13 |
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); } |