Commit 9017addf authored by unknown's avatar unknown

Correction of fix for bug #12280 "Triggers: crash if flush tables".

We should not assume that "thd" argument of reload_acl_and_cache() is
non-zero. Failure to do so will cause server to crash when one sends
SIGHUP to it.


sql/sql_parse.cc:
  reload_acl_and_cache():
    When we call this function from SIGHUP handler we pass 0 as "thd" argument
    to it. So we should not assume that thd is non-zero in it.
parent 43e07c3b
...@@ -6517,7 +6517,7 @@ void add_join_natural(TABLE_LIST *a, TABLE_LIST *b, List<String> *using_fields) ...@@ -6517,7 +6517,7 @@ void add_join_natural(TABLE_LIST *a, TABLE_LIST *b, List<String> *using_fields)
SYNOPSIS SYNOPSIS
reload_acl_and_cache() reload_acl_and_cache()
thd Thread handler thd Thread handler (can be NULL!)
options What should be reset/reloaded (tables, privileges, options What should be reset/reloaded (tables, privileges,
slave...) slave...)
tables Tables to flush (if any) tables Tables to flush (if any)
...@@ -6539,7 +6539,7 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables, ...@@ -6539,7 +6539,7 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
select_errors=0; /* Write if more errors */ select_errors=0; /* Write if more errors */
bool tmp_write_to_binlog= 1; bool tmp_write_to_binlog= 1;
if (thd->in_sub_stmt) if (thd && thd->in_sub_stmt)
{ {
my_error(ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG, MYF(0), "FLUSH"); my_error(ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG, MYF(0), "FLUSH");
return 1; return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment