mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
CachedInterpreterEmitter: Fix std::memcpy
UB
I wasn't aware that even with a size of zero, it's still not safe to pass a nullptr to `std::memcpy`. When `CachedInterpreterEmitter::PoisonCallback` is written, UB is happening.
This commit is contained in:
@ -19,6 +19,8 @@ void CachedInterpreterEmitter::Write(AnyCallback callback, const void* operands,
|
|||||||
}
|
}
|
||||||
std::memcpy(m_code, &callback, sizeof(callback));
|
std::memcpy(m_code, &callback, sizeof(callback));
|
||||||
m_code += sizeof(callback);
|
m_code += sizeof(callback);
|
||||||
|
if (size == 0)
|
||||||
|
return;
|
||||||
std::memcpy(m_code, operands, size);
|
std::memcpy(m_code, operands, size);
|
||||||
m_code += size;
|
m_code += size;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user