Loading client/mysqlbinlog.cc +19 −4 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ int Load_log_processor::load_old_format_file(NET* net, const char*server_fname, for (;;) { uint packet_len = my_net_read(net); ulong packet_len = my_net_read(net); if (packet_len == 0) { if (my_net_write(net, "", 0) || net_flush(net)) Loading @@ -226,7 +226,13 @@ int Load_log_processor::load_old_format_file(NET* net, const char*server_fname, return -1; } if (my_write(file, (byte*) net->read_pos, packet_len,MYF(MY_WME|MY_NABP))) if (packet_len > UINT_MAX) { sql_print_error("Illegal length of packet read from net"); return -1; } if (my_write(file, (byte*) net->read_pos, (uint) packet_len, MYF(MY_WME|MY_NABP))) return -1; } Loading Loading @@ -747,7 +753,8 @@ static int dump_remote_log_entries(const char* logname) { char buf[128]; char last_db[FN_REFLEN+1] = ""; uint len, logname_len; ulong len; uint logname_len; NET* net; int old_format; int error= 0; Loading @@ -770,7 +777,15 @@ static int dump_remote_log_entries(const char* logname) */ int4store(buf, (uint32)start_position); int2store(buf + BIN_LOG_HEADER_SIZE, binlog_flags); logname_len = (uint) strlen(logname); size_s tlen = strlen(logname); if (tlen > UINT_MAX) { fprintf(stderr,"Log name too long\n"); error= 1; goto err; } logname_len = (uint) tlen; int4store(buf + 6, 0); memcpy(buf + 10, logname, logname_len); if (simple_command(mysql, COM_BINLOG_DUMP, buf, logname_len + 10, 1)) Loading Loading
client/mysqlbinlog.cc +19 −4 Original line number Diff line number Diff line Loading @@ -204,7 +204,7 @@ int Load_log_processor::load_old_format_file(NET* net, const char*server_fname, for (;;) { uint packet_len = my_net_read(net); ulong packet_len = my_net_read(net); if (packet_len == 0) { if (my_net_write(net, "", 0) || net_flush(net)) Loading @@ -226,7 +226,13 @@ int Load_log_processor::load_old_format_file(NET* net, const char*server_fname, return -1; } if (my_write(file, (byte*) net->read_pos, packet_len,MYF(MY_WME|MY_NABP))) if (packet_len > UINT_MAX) { sql_print_error("Illegal length of packet read from net"); return -1; } if (my_write(file, (byte*) net->read_pos, (uint) packet_len, MYF(MY_WME|MY_NABP))) return -1; } Loading Loading @@ -747,7 +753,8 @@ static int dump_remote_log_entries(const char* logname) { char buf[128]; char last_db[FN_REFLEN+1] = ""; uint len, logname_len; ulong len; uint logname_len; NET* net; int old_format; int error= 0; Loading @@ -770,7 +777,15 @@ static int dump_remote_log_entries(const char* logname) */ int4store(buf, (uint32)start_position); int2store(buf + BIN_LOG_HEADER_SIZE, binlog_flags); logname_len = (uint) strlen(logname); size_s tlen = strlen(logname); if (tlen > UINT_MAX) { fprintf(stderr,"Log name too long\n"); error= 1; goto err; } logname_len = (uint) tlen; int4store(buf + 6, 0); memcpy(buf + 10, logname, logname_len); if (simple_command(mysql, COM_BINLOG_DUMP, buf, logname_len + 10, 1)) Loading