Commit 4cbe047c authored by Alexey Kopytov's avatar Alexey Kopytov

Automerge.

parents f0791b8b c0cd2742
...@@ -626,6 +626,7 @@ Create_file event for file_id: %u\n",exv->file_id); ...@@ -626,6 +626,7 @@ Create_file event for file_id: %u\n",exv->file_id);
glob_description_event= (Format_description_log_event*) ev; glob_description_event= (Format_description_log_event*) ev;
print_event_info->common_header_len= glob_description_event->common_header_len; print_event_info->common_header_len= glob_description_event->common_header_len;
ev->print(result_file, print_event_info); ev->print(result_file, print_event_info);
ev->temp_buf= 0;
/* /*
We don't want this event to be deleted now, so let's hide it (I We don't want this event to be deleted now, so let's hide it (I
(Guilhem) should later see if this triggers a non-serious Valgrind (Guilhem) should later see if this triggers a non-serious Valgrind
...@@ -668,8 +669,16 @@ Begin_load_query event for file_id: %u\n", exlq->file_id); ...@@ -668,8 +669,16 @@ Begin_load_query event for file_id: %u\n", exlq->file_id);
end: end:
rec_count++; rec_count++;
/*
Destroy the log_event object. If reading from a remote host,
set the temp_buf to NULL so that memory isn't freed twice.
*/
if (ev) if (ev)
{
if (remote_opt)
ev->temp_buf= 0;
delete ev; delete ev;
}
DBUG_RETURN(0); DBUG_RETURN(0);
} }
...@@ -1151,6 +1160,11 @@ could be out of memory"); ...@@ -1151,6 +1160,11 @@ could be out of memory");
error= 1; error= 1;
goto err; goto err;
} }
/*
If reading from a remote host, ensure the temp_buf for the
Log_event class is pointing to the incoming stream.
*/
ev->register_temp_buf((char *) net->read_pos + 1);
Log_event_type type= ev->get_type_code(); Log_event_type type= ev->get_type_code();
if (glob_description_event->binlog_version >= 3 || if (glob_description_event->binlog_version >= 3 ||
......
...@@ -380,4 +380,6 @@ IS NOT NULL ...@@ -380,4 +380,6 @@ IS NOT NULL
1 1
*** Unsigned server_id 4294967295 is found: 1 *** *** Unsigned server_id 4294967295 is found: 1 ***
SET @@global.server_id= 1; SET @@global.server_id= 1;
RESET MASTER;
FLUSH LOGS;
End of 5.0 tests End of 5.0 tests
...@@ -294,4 +294,14 @@ echo *** Unsigned server_id $s_id_max is found: $s_id_unsigned ***; ...@@ -294,4 +294,14 @@ echo *** Unsigned server_id $s_id_max is found: $s_id_unsigned ***;
eval SET @@global.server_id= $save_server_id; eval SET @@global.server_id= $save_server_id;
--remove_file $binlog_file --remove_file $binlog_file
#
# Bug #41943: mysqlbinlog.exe crashes if --hexdump option is used
#
RESET MASTER;
FLUSH LOGS;
# We do not need the results, just make sure that mysqlbinlog does not crash
--exec $MYSQL_BINLOG --hexdump --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 >/dev/null
--echo End of 5.0 tests --echo End of 5.0 tests
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