summaryrefslogtreecommitdiff
path: root/sql/log.h
diff options
context:
space:
mode:
authorNuno Carvalho <nuno.carvalho@oracle.com>2012-04-20 22:25:59 +0100
committerNuno Carvalho <nuno.carvalho@oracle.com>2012-04-20 22:25:59 +0100
commitcdaae1692b1e74c0fdeaaece82e3350a30e3bbd2 (patch)
tree3e90fc7337b5e4526065135b09f053c737c88ffa /sql/log.h
parentbf4161adae1a0b103d5424f2fe3ec8c167311997 (diff)
downloadmariadb-git-cdaae1692b1e74c0fdeaaece82e3350a30e3bbd2.tar.gz
BUG#13979418: SHOW BINLOG EVENTS MAY CRASH THE SERVER
The function mysql_show_binlog_events has a local stack variable 'LOG_INFO linfo;', which is assigned to thd->current_linfo, however this variable goes out of scope and is destroyed before clean thd->current_linfo. The problem is solved by moving 'LOG_INFO linfo;' to function scope.
Diffstat (limited to 'sql/log.h')
-rw-r--r--sql/log.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/log.h b/sql/log.h
index 81342f6e696..9ed5db04e87 100644
--- a/sql/log.h
+++ b/sql/log.h
@@ -130,6 +130,11 @@ extern TC_LOG_DUMMY tc_log_dummy;
class Relay_log_info;
+/*
+ Note that we destroy the lock mutex in the desctructor here.
+ This means that object instances cannot be destroyed/go out of scope,
+ until we have reset thd->current_linfo to NULL;
+ */
typedef struct st_log_info
{
char log_file_name[FN_REFLEN];