by replacing assignment with memcpy.
The original version breaks the strict aliasing rule, and may be
mis-aligned, which may cause undefined behavior.
Signed-off-by: 胡玮文 <huww98@outlook.com>
uint64_t msg_len = htole64(e.size());
meta_buf.resize(meta_buf.size() + sizeof(msg_len));
- *(reinterpret_cast<uint64_t*>(meta_buf.end()) - 1) = htole64(e.size());
+ memcpy(meta_buf.end() - sizeof(msg_len), &msg_len, sizeof(msg_len));
meta_vec().iov_base = meta_buf.data();
meta_vec().iov_len = meta_buf.size();