Commit c5ba7067 authored by Sujatha Sivakumar's avatar Sujatha Sivakumar

Bug#22278455: MYSQL 5.5:RPL_BINLOG_INDEX FAILS IN VALGRIND.

Problem:
=======
rpl_binlog_index.test fails with following valgrind error.

line
Conditional jump or move depends on uninitialised value(s)
at 0x4C2F842: __memcmp_sse4_1 (in /usr/lib64/valgrind/
vgpreload_memcheck-amd64-linux.so)
0x739E39: find_uniq_filename(char*) (log.cc:2212)
0x73A11B: MYSQL_LOG::generate_new_name(char*, char const*)
(log.cc:2492)
0x73A1ED: MYSQL_LOG::init_and_set_log_file_name(char const*,
char const*, enum_log_type, cache_type) (log.cc:2289)
0x73B6F5: MYSQL_BIN_LOG::open(char const*, enum_log_type,


Analysis and fix:
=================
This issue was fixed as part of Bug#20459363 fix in 5.6 and
above. Hence backporting the fix to MySQL-5.5.
parent 2735f0b9
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. /* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -2209,7 +2209,7 @@ static int find_uniq_filename(char *name) ...@@ -2209,7 +2209,7 @@ static int find_uniq_filename(char *name)
file_info= dir_info->dir_entry; file_info= dir_info->dir_entry;
for (i= dir_info->number_off_files ; i-- ; file_info++) for (i= dir_info->number_off_files ; i-- ; file_info++)
{ {
if (memcmp(file_info->name, start, length) == 0 && if (strncmp(file_info->name, start, length) == 0 &&
test_if_number(file_info->name+length, &number,0)) test_if_number(file_info->name+length, &number,0))
{ {
set_if_bigger(max_found,(ulong) number); set_if_bigger(max_found,(ulong) number);
......
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