Details
Description
This call of bzero in ddl_log.cc will use a wrong number of bytes to wipe: "global_ddl_log.name_pos - 18 + 16 + 8" instead of "global_ddl_log.name_pos - (18 + 16 + 8)"
#define DDL_LOG_UUID_POS 18
|
#define MY_UUID_SIZE 16
|
#define DDL_LOG_ID_POS DDL_LOG_UUID_POS + MY_UUID_SIZE
|
#define DDL_LOG_END_POS DDL_LOG_ID_POS + 8
|
...
|
bzero(file_entry_buf+DDL_LOG_END_POS,
|
global_ddl_log.name_pos - DDL_LOG_END_POS);
|
Expressions in #defines should be wrapped in ( ).