diff --git a/fdbclient/FDBTypes.h b/fdbclient/FDBTypes.h index 06b574ec89..690ebb9865 100644 --- a/fdbclient/FDBTypes.h +++ b/fdbclient/FDBTypes.h @@ -331,12 +331,12 @@ struct string_serialized_traits : std::true_type { uint32_t save(uint8_t* out, const KeyValueRef& item) const { auto begin = out; uint32_t sz = item.key.size(); - memcpy(out, &sz, sizeof(sz)); + *reinterpret_cast(out) = sz; out += sizeof(sz); memcpy(out, item.key.begin(), sz); out += sz; sz = item.value.size(); - memcpy(out, &sz, sizeof(sz)); + *reinterpret_cast(out) = sz; out += sizeof(sz); memcpy(out, item.value.begin(), sz); out += sz; diff --git a/flow/Arena.h b/flow/Arena.h index b956b195b0..0f78d41290 100644 --- a/flow/Arena.h +++ b/flow/Arena.h @@ -1143,7 +1143,7 @@ struct dynamic_size_traits> : std::true_typ string_serialized_traits traits; auto* p = out; uint32_t length = t.size(); - memcpy(out, &length, sizeof(length)); + *reinterpret_cast(out) = length; out += sizeof(length); for (const auto& item : t) { out += traits.save(out, item);