Fixes to eliminate valgrind warnings.
sql/rpl_record.cc: Factoring out expression and putting it in an auto variable. sql/rpl_utility.cc: Removing a check that causes compile warnings. sql/rpl_utility.h: Ensuring that there is enough memory for the metadata, to avoid reads from uninitialized memory. Initializing the memory to keep valgrind quiet.
This commit is contained in:
parent
6df75c85fd
commit
a04dff19f3
@ -255,8 +255,9 @@ unpack_row(RELAY_LOG_INFO const *rli,
|
|||||||
bool save= table->s->db_low_byte_first;
|
bool save= table->s->db_low_byte_first;
|
||||||
table->s->db_low_byte_first= TRUE;
|
table->s->db_low_byte_first= TRUE;
|
||||||
#endif
|
#endif
|
||||||
if (tabledef && tabledef->field_metadata(i))
|
uint16 const metadata= tabledef->field_metadata(i);
|
||||||
pack_ptr= f->unpack(f->ptr, pack_ptr, tabledef->field_metadata(i));
|
if (tabledef && metadata)
|
||||||
|
pack_ptr= f->unpack(f->ptr, pack_ptr, metadata);
|
||||||
else
|
else
|
||||||
pack_ptr= f->unpack(f->ptr, pack_ptr);
|
pack_ptr= f->unpack(f->ptr, pack_ptr);
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -97,7 +97,7 @@ uint32 table_def::calc_field_size(uint col, uchar *master_data)
|
|||||||
{
|
{
|
||||||
uint from_len= (m_field_metadata[col] >> 8U) & 0x00ff;
|
uint from_len= (m_field_metadata[col] >> 8U) & 0x00ff;
|
||||||
uint from_bit_len= m_field_metadata[col] & 0x00ff;
|
uint from_bit_len= m_field_metadata[col] & 0x00ff;
|
||||||
DBUG_ASSERT(from_bit_len >= 0 && from_bit_len <= 7);
|
DBUG_ASSERT(from_bit_len <= 7);
|
||||||
length= from_len + ((from_bit_len > 0) ? 1 : 0);
|
length= from_len + ((from_bit_len > 0) ? 1 : 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -66,9 +66,13 @@ public:
|
|||||||
{
|
{
|
||||||
m_memory= (uchar *)my_multi_malloc(MYF(MY_WME),
|
m_memory= (uchar *)my_multi_malloc(MYF(MY_WME),
|
||||||
&m_type, size,
|
&m_type, size,
|
||||||
&m_field_metadata, size * sizeof(short),
|
&m_field_metadata,
|
||||||
&m_null_bits, (m_size + 7) / 8,
|
size * sizeof(uint16),
|
||||||
|
&m_null_bits, (size + 7) / 8,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
bzero(m_field_metadata, size * sizeof(uint16));
|
||||||
|
|
||||||
if (m_type)
|
if (m_type)
|
||||||
memcpy(m_type, types, size);
|
memcpy(m_type, types, size);
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user