From f11d362be32f4050f9115087734e6e28387ab532 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Tue, 11 Feb 2014 00:08:56 -0800 Subject: [PATCH] Fix integer overflow in exponent decrease. --- Core/HW/SasAudio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/HW/SasAudio.cpp b/Core/HW/SasAudio.cpp index f0050ee8e3..84679b58b2 100644 --- a/Core/HW/SasAudio.cpp +++ b/Core/HW/SasAudio.cpp @@ -706,7 +706,7 @@ void ADSREnvelope::WalkCurve(int type) { case PSP_SAS_ADSR_CURVE_MODE_EXPONENT_DECREASE: expDelta = height_ - PSP_SAS_ENVELOPE_HEIGHT_MAX; expDelta -= (expDelta * (s64)rate_) / 0x100000000LL; - height_ = expDelta + PSP_SAS_ENVELOPE_HEIGHT_MAX - (rate_ + 3) / 4; + height_ = expDelta + PSP_SAS_ENVELOPE_HEIGHT_MAX - ((u32)rate_ + 3UL) / 4UL; break; case PSP_SAS_ADSR_CURVE_MODE_EXPONENT_INCREASE: