summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2006-05-29 00:32:59 +0400
committerunknown <evgen@moonbone.local>2006-05-29 00:32:59 +0400
commit2264b644735e869fdbb16397c75170d86e2de127 (patch)
tree5b15fb884ed6cbd6bc729d0ef567afe9083a4419 /sql
parent81f1acc4bc7b5e852363b2ae984e41de43ed15e5 (diff)
downloadmariadb-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.cc4
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(),