From 33fd29faad89bb84cf6424c4c3dcc0eb4333a062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 25 Jun 2025 00:38:13 +0200 Subject: [PATCH] Add a sanity check --- Core/HLE/AtracCtx2.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Core/HLE/AtracCtx2.cpp b/Core/HLE/AtracCtx2.cpp index 515c196573..8fd967ac93 100644 --- a/Core/HLE/AtracCtx2.cpp +++ b/Core/HLE/AtracCtx2.cpp @@ -578,6 +578,12 @@ static void ComputeStreamBufferDataInfo(const SceAtracIdInfo &info, u32 *writePt const int loopStartFileOffset = ComputeFileOffset(info, info.loopStart); const int loopEndFileOffset = ComputeLoopEndFileOffset(info, info.loopEnd); + if (spaceLeftInBuffer < 0) { + // Most likely, the file was truncated. + WARN_LOG(Log::Atrac, "File corruption detected: spaceLeftInBuffer < 0: %d. Stumbling along.", spaceLeftInBuffer); + spaceLeftInBuffer = 0; + } + switch (info.state) { case ATRAC_STATUS_STREAMED_WITHOUT_LOOP: {