From 6c47b43a60d74e8e48de994b1d3a1ff7c6af7763 Mon Sep 17 00:00:00 2001
From: Kelebek1 <eeeedddccc@hotmail.co.uk>
Date: Wed, 27 Jul 2022 23:17:18 +0100
Subject: [PATCH] Avoid depop out of bounds

---
 src/audio_core/renderer/command/command_buffer.cpp    | 2 +-
 src/audio_core/renderer/command/mix/depop_prepare.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/audio_core/renderer/command/command_buffer.cpp b/src/audio_core/renderer/command/command_buffer.cpp
index 40074cf14a..2ef879ee18 100644
--- a/src/audio_core/renderer/command/command_buffer.cpp
+++ b/src/audio_core/renderer/command/command_buffer.cpp
@@ -339,7 +339,7 @@ void CommandBuffer::GenerateDepopPrepareCommand(const s32 node_id, const VoiceSt
     cmd.previous_samples = memory_pool->Translate(CpuAddr(voice_state.previous_samples.data()),
                                                   MaxMixBuffers * sizeof(s32));
     cmd.buffer_count = buffer_count;
-    cmd.depop_buffer = memory_pool->Translate(CpuAddr(buffer.data()), buffer_count * sizeof(s32));
+    cmd.depop_buffer = memory_pool->Translate(CpuAddr(buffer.data()), buffer.size_bytes());
 
     GenerateEnd<DepopPrepareCommand>(cmd);
 }
diff --git a/src/audio_core/renderer/command/mix/depop_prepare.cpp b/src/audio_core/renderer/command/mix/depop_prepare.cpp
index 2ee076ef6b..69bb78ccc8 100644
--- a/src/audio_core/renderer/command/mix/depop_prepare.cpp
+++ b/src/audio_core/renderer/command/mix/depop_prepare.cpp
@@ -19,7 +19,7 @@ void DepopPrepareCommand::Dump([[maybe_unused]] const ADSP::CommandListProcessor
 
 void DepopPrepareCommand::Process(const ADSP::CommandListProcessor& processor) {
     auto samples{reinterpret_cast<s32*>(previous_samples)};
-    auto buffer{std::span(reinterpret_cast<s32*>(depop_buffer), buffer_count)};
+    auto buffer{reinterpret_cast<s32*>(depop_buffer)};
 
     for (u32 i = 0; i < buffer_count; i++) {
         if (samples[i]) {