diff options
-rw-r--r-- | plugin/server_audit/server_audit.c | 6 | ||||
-rw-r--r-- | sql/sql_audit.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/plugin/server_audit/server_audit.c b/plugin/server_audit/server_audit.c index ee00c9e1385..65de695ac9e 100644 --- a/plugin/server_audit/server_audit.c +++ b/plugin/server_audit/server_audit.c @@ -1145,7 +1145,7 @@ static void setup_connection_initdb(struct connection_info *cn, } else { - get_str_n(cn->user, &cn->user_length, sizeof(cn->db), + get_str_n(cn->user, &cn->user_length, sizeof(cn->user), uh_buffer, user_len); get_str_n(cn->host, &cn->host_length, sizeof(cn->host), uh_buffer+user_len+1, host_len); @@ -1196,7 +1196,7 @@ static void setup_connection_query(struct connection_info *cn, } else { - get_str_n(cn->user, &cn->user_length, sizeof(cn->db), + get_str_n(cn->user, &cn->user_length, sizeof(cn->user), uh_buffer, user_len); get_str_n(cn->host, &cn->host_length, sizeof(cn->host), uh_buffer+user_len+1, host_len); @@ -1956,7 +1956,7 @@ void auditing(MYSQL_THD thd, unsigned int event_class, const void *ev) /* That one is important as this function can be called with */ /* &lock_operations locked when the server logs an error reported */ /* by this plugin. */ - if (internal_stop_logging) + if (!thd || internal_stop_logging) return; flogger_mutex_lock(&lock_operations); diff --git a/sql/sql_audit.h b/sql/sql_audit.h index 5f530c676c3..f7ad8d3cd20 100644 --- a/sql/sql_audit.h +++ b/sql/sql_audit.h @@ -170,6 +170,8 @@ void mysql_audit_general(THD *thd, uint event_subtype, } else { + event.general_user= NULL; + event.general_user_length= 0; event.general_thread_id= 0; event.general_query= NULL; event.general_query_length= 0; |