aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/errors.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-09-13 19:09:04 -0400
committerLioncash <mathew1800@gmail.com>2018-09-13 21:34:48 -0400
commit3e8e34221ef6e255daf49785b2ee5fdda9070367 (patch)
tree79e5e5b17f95e21eef659d9ca9d2f7638d418c97 /src/core/hle/kernel/errors.h
parentbdd44b2044fe03facb244b3462d2fc4fdcc97b46 (diff)
kernel/svc: Sanitize heap sizes within svcSetHeapSize()
The kernel checks if the given size is a multiple of 2MB and <= to 4GB before going ahead and attempting to allocate that much memory.
Diffstat (limited to 'src/core/hle/kernel/errors.h')
-rw-r--r--src/core/hle/kernel/errors.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/kernel/errors.h b/src/core/hle/kernel/errors.h
index ad39c8271b..2be2fad82f 100644
--- a/src/core/hle/kernel/errors.h
+++ b/src/core/hle/kernel/errors.h
@@ -17,6 +17,7 @@ enum {
// Confirmed Switch OS error codes
MaxConnectionsReached = 7,
+ InvalidSize = 101,
InvalidAddress = 102,
HandleTableFull = 105,
InvalidMemoryState = 106,
@@ -55,6 +56,7 @@ constexpr ResultCode ERR_INVALID_MEMORY_PERMISSIONS(ErrorModule::Kernel,
ErrCodes::InvalidMemoryPermissions);
constexpr ResultCode ERR_INVALID_HANDLE(ErrorModule::Kernel, ErrCodes::InvalidHandle);
constexpr ResultCode ERR_INVALID_PROCESSOR_ID(ErrorModule::Kernel, ErrCodes::InvalidProcessorId);
+constexpr ResultCode ERR_INVALID_SIZE(ErrorModule::Kernel, ErrCodes::InvalidSize);
constexpr ResultCode ERR_INVALID_STATE(ErrorModule::Kernel, ErrCodes::InvalidState);
constexpr ResultCode ERR_INVALID_THREAD_PRIORITY(ErrorModule::Kernel,
ErrCodes::InvalidThreadPriority);