From e0042460e70c95bd2f633a0bc0d830386f8dac31 Mon Sep 17 00:00:00 2001 From: He Zhenxing Date: Wed, 2 Jun 2010 18:57:52 +0800 Subject: [PATCH] Post fix for bug#52748 --- plugin/semisync/semisync_master.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin/semisync/semisync_master.cc b/plugin/semisync/semisync_master.cc index 20d1c6d609c..c7e5bdeb9a6 100644 --- a/plugin/semisync/semisync_master.cc +++ b/plugin/semisync/semisync_master.cc @@ -1126,12 +1126,13 @@ int ReplSemiSyncMaster::readSlaveReply(NET *net, uint32 server_id, log_file_pos = uint8korr(packet + REPLY_BINLOG_POS_OFFSET); log_file_len = packet_len - REPLY_BINLOG_NAME_OFFSET; - if (log_file_len > FN_REFLEN) + if (log_file_len >= FN_REFLEN) { sql_print_error("Read semi-sync reply binlog file length too large"); goto l_end; } strncpy(log_file_name, (const char*)packet + REPLY_BINLOG_NAME_OFFSET, log_file_len); + log_file_name[log_file_len] = 0; if (trc_level & kTraceDetail) sql_print_information("%s: Got reply (%s, %lu)",