diff --git a/sql/log_event.cc b/sql/log_event.cc index c99806344767c6e204217128c74e4714e461fc6a..2ca915b0999104c8c301a8f896dfc21b2242ec61 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -6449,8 +6449,8 @@ int Table_map_log_event::save_field_metadata() } case MYSQL_TYPE_VARCHAR: { - short int *x= (short int *)&m_field_metadata[index]; - int2store(x, m_table->s->field[i]->field_length); + char *ptr= (char *)&m_field_metadata[index]; + int2store(ptr, m_table->s->field[i]->field_length); index= index + sizeof(short int); break; } diff --git a/sql/rpl_utility.h b/sql/rpl_utility.h index e4f9690cf616da9154d58e7b3b4e8cb8af3f0b04..0cf077f6481f3d0677c358ff29a839beb506812b 100644 --- a/sql/rpl_utility.h +++ b/sql/rpl_utility.h @@ -121,13 +121,9 @@ class table_def /* These types store two bytes. */ - uint16 *x= (uint16 *)&field_metadata[index]; -#ifdef WORDS_BIGENDIAN - m_field_metadata[i]= sint2korr(x); -#else - m_field_metadata[i]= *x; -#endif - index= index + sizeof(short); + char *ptr= (char *)&field_metadata[index]; + m_field_metadata[i]= sint2korr(ptr); + index= index + sizeof(short int); break; } case MYSQL_TYPE_NEWDECIMAL: