From 7f96dbc0242f169caeb8461237bc01a23c115f56 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 20 Aug 2023 03:56:30 -0300 Subject: Fix invalid audio renderer buffer size when end offset < start offset (#5588) * Fix invalid audio renderer buffer size when end offset < start offset * Fix possible overflow on IsSampleOffsetInRangeForPcm --- src/Ryujinx.Audio/Renderer/Dsp/PcmHelper.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/Ryujinx.Audio/Renderer/Dsp') diff --git a/src/Ryujinx.Audio/Renderer/Dsp/PcmHelper.cs b/src/Ryujinx.Audio/Renderer/Dsp/PcmHelper.cs index d209c515..8134e6b7 100644 --- a/src/Ryujinx.Audio/Renderer/Dsp/PcmHelper.cs +++ b/src/Ryujinx.Audio/Renderer/Dsp/PcmHelper.cs @@ -20,6 +20,11 @@ namespace Ryujinx.Audio.Renderer.Dsp [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int GetBufferSize(int startSampleOffset, int endSampleOffset, int offset, int count) where T : unmanaged { + if (endSampleOffset < startSampleOffset) + { + return 0; + } + return GetCountToDecode(startSampleOffset, endSampleOffset, offset, count) * Unsafe.SizeOf(); } -- cgit v1.2.3