From c73410bf2c58a17e0411456ea0ddb6d91872e079 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 24 Jul 2018 09:55:15 -0400 Subject: [PATCH] svc: Resolve sign comparison warnings in WaitSynchronization() The loop's induction variable was signed, but we were comparing against an unsigned variable. --- src/core/hle/kernel/svc.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 7b41c9cfd..da7cacb57 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -165,11 +165,14 @@ static ResultCode WaitSynchronization(Handle* index, VAddr handles_address, u64 using ObjectPtr = SharedPtr; std::vector objects(handle_count); - for (int i = 0; i < handle_count; ++i) { - Handle handle = Memory::Read32(handles_address + i * sizeof(Handle)); - auto object = g_handle_table.Get(handle); - if (object == nullptr) + for (u64 i = 0; i < handle_count; ++i) { + const Handle handle = Memory::Read32(handles_address + i * sizeof(Handle)); + const auto object = g_handle_table.Get(handle); + + if (object == nullptr) { return ERR_INVALID_HANDLE; + } + objects[i] = object; }