aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-09-16 08:10:29 +0200
committercrueter <crueter@eden-emu.dev>2026-09-16 08:10:29 +0200
commit4ce45b3b37d162660f0e1ec829c4eab896fc4db4 (patch)
tree1dc19ce50dcbad6375f3925b5ea7357092c2e88b /src/common
parentfd34024f0e1ffca0aa813698d2552a1dea2b5b17 (diff)
[hle] Fix crash on MK8D and SM3DW LDN (#4417)
Crash is due to SIGILL due to mismatched N and span<> ctor(). Also some astray nullptr references. Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4417 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com>
Diffstat (limited to 'src/common')
-rw-r--r--src/common/uuid.cpp4
-rw-r--r--src/common/uuid.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/common/uuid.cpp b/src/common/uuid.cpp
index 51fe0abaa5..4b992c5df8 100644
--- a/src/common/uuid.cpp
+++ b/src/common/uuid.cpp
@@ -208,9 +208,9 @@ UUID UUID::MakeRandomRFC4122V4() {
return uuid;
}
-UUID UUID::MakeRFC4122V5(std::span<u8, 20> sha1) {
+UUID UUID::MakeRFC4122V5(std::span<u8, 16> sha1) {
UUID uuid{};
- std::memcpy(&uuid.uuid, sha1.data(), sizeof(UUID));
+ std::memcpy(&uuid.uuid, sha1.data(), sha1.size());
uuid.uuid[8] = 0x80 | (uuid.uuid[8] & 0x3F);
uuid.uuid[6] = 0x50 | (uuid.uuid[6] & 0xF);
return uuid;
diff --git a/src/common/uuid.h b/src/common/uuid.h
index 3aa3212dd7..465b5be58d 100644
--- a/src/common/uuid.h
+++ b/src/common/uuid.h
@@ -104,7 +104,7 @@ struct UUID {
/// @returns A random UUID that is RFC 4122 Version 4 compliant.
[[nodiscard]] static UUID MakeRandomRFC4122V4();
- [[nodiscard]] static UUID MakeRFC4122V5(std::span<u8, 20> sha1);
+ [[nodiscard]] static UUID MakeRFC4122V5(std::span<u8, 16> sha1);
friend constexpr bool operator==(const UUID& lhs, const UUID& rhs) = default;
};