diff options
author | unknown <evgen@moonbone.local> | 2006-05-29 00:32:59 +0400 |
---|---|---|
committer | unknown <evgen@moonbone.local> | 2006-05-29 00:32:59 +0400 |
commit | 2264b644735e869fdbb16397c75170d86e2de127 (patch) | |
tree | 5b15fb884ed6cbd6bc729d0ef567afe9083a4419 /sql | |
parent | 81f1acc4bc7b5e852363b2ae984e41de43ed15e5 (diff) | |
download | mariadb-git-2264b644735e869fdbb16397c75170d86e2de127.tar.gz |
Fixed bug#19225: unchecked error results in server crash
In multi-table delete a table for delete can't be used for selecting in
subselects. Appropriate error was raised but wasn't checked which leads to a
crash at the execution phase.
The mysql_execute_command() now checks for errors before executing select
for multi-delete.
mysql-test/t/multi_update.test:
Added test case for bug#19225: unchecked error results in server crash
mysql-test/r/multi_update.result:
Added test case for bug#19225: unchecked error results in server crash
sql/sql_parse.cc:
Fixed bug#19225: unchecked error results in server crash
The mysql_execute_command() now checks for errors before executing select for multi-delete.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_parse.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 51ef3f31b26..06005f31198 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3047,8 +3047,8 @@ unsent_create_error: } } - if (!thd->is_fatal_error && (result= new multi_delete(thd,aux_tables, - table_count))) + if (!res && !thd->is_fatal_error && + (result= new multi_delete(thd,aux_tables, table_count))) { res= mysql_select(thd, &select_lex->ref_pointer_array, select_lex->get_table_list(), |