mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
BUG#6239 V2: Since uint can be shorter than ulong on 64 bit platforms,
the comparision of "packet_len" (uint) and "len" (uint) with "packet_error" (ulong) was always false.
This commit is contained in:
parent
7d2047994e
commit
0d5290fc5c
1 changed files with 19 additions and 4 deletions
|
@ -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))
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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…
Reference in a new issue