From 594fe42826e8aa76a5d74ee60244ebb12cfd6700 Mon Sep 17 00:00:00 2001 From: Dzmitry Dubrova Date: Wed, 14 Aug 2024 11:49:55 +0300 Subject: [PATCH] core: handle scePadSetLightBar wrong lightbar setting --- src/core/libraries/pad/pad.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/libraries/pad/pad.cpp b/src/core/libraries/pad/pad.cpp index f5c6e2e92..305b20bd6 100644 --- a/src/core/libraries/pad/pad.cpp +++ b/src/core/libraries/pad/pad.cpp @@ -429,6 +429,12 @@ int PS4_SYSV_ABI scePadSetLightBar(s32 handle, const OrbisPadLightBarParam* pPar if (pParam != nullptr) { LOG_INFO(Lib_Pad, "scePadSetLightBar called handle = {} rgb = {} {} {}", handle, pParam->r, pParam->g, pParam->b); + + if (pParam->r < 0xD && pParam->g < 0xD && pParam->b < 0xD) { + LOG_INFO(Lib_Pad, "Invalid lightbar setting"); + return ORBIS_PAD_ERROR_INVALID_LIGHTBAR_SETTING; + } + auto* controller = Common::Singleton::Instance(); controller->SetLightBarRGB(pParam->r, pParam->g, pParam->b); return ORBIS_OK;