From fdd649e2ef56ea473e253511d35fe6c10e0fb241 Mon Sep 17 00:00:00 2001 From: David Marcec Date: Wed, 19 Dec 2018 12:52:32 +1100 Subject: Fixed uninitialized memory due to missing returns in canary Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used. --- src/core/file_sys/savedata_factory.cpp | 1 + src/core/hle/kernel/object.cpp | 1 + src/core/memory.cpp | 1 + 3 files changed, 3 insertions(+) (limited to 'src/core') diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp index bd50fedc7..d63b7f19b 100644 --- a/src/core/file_sys/savedata_factory.cpp +++ b/src/core/file_sys/savedata_factory.cpp @@ -128,6 +128,7 @@ std::string SaveDataFactory::GetFullPath(SaveDataSpaceId space, SaveDataType typ return fmt::format("{}save/cache/{:016X}", out, title_id); default: ASSERT_MSG(false, "Unrecognized SaveDataType: {:02X}", static_cast(type)); + return fmt::format("{}save/unknown_{:X}/{:016X}", out, static_cast(type), title_id); } } diff --git a/src/core/hle/kernel/object.cpp b/src/core/hle/kernel/object.cpp index 0ea851a74..806078638 100644 --- a/src/core/hle/kernel/object.cpp +++ b/src/core/hle/kernel/object.cpp @@ -32,6 +32,7 @@ bool Object::IsWaitable() const { } UNREACHABLE(); + return false; } } // namespace Kernel diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 643afdee8..e9166dbd9 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -187,6 +187,7 @@ T Read(const VAddr vaddr) { default: UNREACHABLE(); } + return {}; } template -- cgit v1.2.3