diff options
author | bunnei <bunneidev@gmail.com> | 2015-01-17 14:04:54 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-01-21 19:09:10 -0500 |
commit | 627e96fc15f99eea0f1c5ccdb46d85cadb3efd69 (patch) | |
tree | 0a9b9be2d0d1d4fe410a4f28a3caafa0676e4a1f | |
parent | f5c6d367c9634291aeea7604c2a14a80144f7dc0 (diff) |
WaitSynchronizationN: Handle case where handles=nullptr.
-rw-r--r-- | src/core/hle/svc.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index 637c63b91f..23885f1291 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -148,6 +148,10 @@ static Result WaitSynchronizationN(s32* out, Handle* handles, s32 handle_count, bool wait_all_succeeded = false; int handle_index = 0; + // Handles pointer is invalid + if (handles == nullptr) + return ResultCode(ErrorDescription::InvalidPointer, ErrorModule::Kernel, ErrorSummary::InvalidArgument, ErrorLevel::Permanent).raw; + // Negative handle_count is invalid if (handle_count < 0) return ResultCode(ErrorDescription::OutOfRange, ErrorModule::OS, ErrorSummary::InvalidArgument, ErrorLevel::Usage).raw; |