From 4680d87fcd75e8bd852ae98c471eae7d3a3d4aaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 15 Apr 2024 12:18:40 +0200 Subject: [PATCH] Change the databuf check in sceAtracDecodeData Making a separate commit for bisection's sake. --- Core/HLE/sceAtrac.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index 13344f209a..0de0badf6c 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -239,10 +239,10 @@ static u32 sceAtracAddStreamData(int atracID, u32 bytesToAdd) { // Note that outAddr being null is completely valid here, used to skip data. static u32 sceAtracDecodeData(int atracID, u32 outAddr, u32 numSamplesAddr, u32 finishFlagAddr, u32 remainAddr) { Atrac *atrac = getAtrac(atracID); - if (atrac == NULL) { - return ATRAC_ERROR_BAD_ATRACID; - } else if (!atrac->dataBuf_) { // TODO: Should check bufferState instead? - return ATRAC_ERROR_NO_DATA; + u32 err = AtracValidateData(atrac); + if (err != 0) { + // Already logged. + return err; } u32 numSamples = 0;