From 1e03f6a72d8304c1fab955b890e6c817a3908355 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 10 Oct 2007 14:00:57 -0600 Subject: Bug #31517: Potential crash due to access of NULL thd in mark_transaction_to_rollback() Introduced in mark_transaction_to_rollback(), part of fix for bug 24989; fix is to check thd for NULL before using it. sql/sql_class.cc: It is possible that mark_transaction_to_rollback() may be called in rare circumstances when thd is NULL (e.g., from some calls to convert_error_code_to_mysql()). Don't use thd if it is NULL. --- sql/sql_class.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sql/sql_class.cc b/sql/sql_class.cc index b67f63778dc..4a98a044e25 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -2241,8 +2241,11 @@ void THD::restore_sub_statement_state(Sub_statement_state *backup) void mark_transaction_to_rollback(THD *thd, bool all) { - thd->is_fatal_sub_stmt_error= TRUE; - thd->transaction_rollback_request= all; + if (thd) + { + thd->is_fatal_sub_stmt_error= TRUE; + thd->transaction_rollback_request= all; + } } /*************************************************************************** Handling of XA id cacheing -- cgit v1.2.1