reinterpret_cast-based type-punning is almost always UB

This commit is contained in:
jadebenn
2024-11-23 02:29:11 -08:00
parent 8eb3488812
commit 7740bbbaab
5 changed files with 14 additions and 11 deletions

View File

@@ -159,8 +159,7 @@ void RakNet::BitStream::Write<AMFIntValue&>(AMFIntValue& value) {
// Writes an AMFDoubleValue to BitStream
template<>
void RakNet::BitStream::Write<AMFDoubleValue&>(AMFDoubleValue& value) {
double d = value.GetValue();
WriteAMFU64(*this, *reinterpret_cast<uint64_t*>(&d));
WriteAMFU64(*this, std::bit_cast<uint64_t>(value.GetValue()));
}
// Writes an AMFStringValue to BitStream