diff options
author | Liam <byteslice@airmail.cc> | 2023-03-07 19:46:48 -0500 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-03-07 19:46:48 -0500 |
commit | d45ac00d48352d86a483e7642bfccadf1eb4f4ce (patch) | |
tree | 9c8327fa45f820e586835f8547fb4b976bbca500 /src/core/hle/kernel | |
parent | a7792e5ff83523142230951ac7eacbd7685dc40b (diff) |
kernel: avoid signed overflow UB on MSVC
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r-- | src/core/hle/kernel/k_resource_limit.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_resource_limit.cpp b/src/core/hle/kernel/k_resource_limit.cpp index b9d22b414..626517619 100644 --- a/src/core/hle/kernel/k_resource_limit.cpp +++ b/src/core/hle/kernel/k_resource_limit.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "common/assert.h" +#include "common/overflow.h" #include "core/core.h" #include "core/core_timing.h" #include "core/hle/kernel/k_resource_limit.h" @@ -104,7 +105,7 @@ bool KResourceLimit::Reserve(LimitableResource which, s64 value, s64 timeout) { ASSERT(current_hints[index] <= current_values[index]); // If we would overflow, don't allow to succeed. - if (current_values[index] + value <= current_values[index]) { + if (Common::WrappingAdd(current_values[index], value) <= current_values[index]) { break; } |