From cb930c4b5a3f8f3931ba93ef35d4000558ffa79e Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Fri, 28 Dec 2018 18:20:29 -0500 Subject: web_browser: Add bounds checking to applet interface --- src/core/hle/service/hid/controllers/npad.cpp | 6 ++---- src/core/hle/service/hid/controllers/npad.h | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src/core/hle/service/hid/controllers') diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 2829f64e9..04c8c35a8 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -638,10 +638,8 @@ void Controller_NPad::ClearAllControllers() { }); } -u32 Controller_NPad::GetPressState() { - const auto res = press_state; - press_state = 0; - return res; +u32 Controller_NPad::GetAndResetPressState() { + return std::exchange(press_state, 0); } bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const { diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index 6906d9ffb..106cf58c8 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h @@ -126,7 +126,7 @@ public: // Logical OR for all buttons presses on all controllers // Specifically for cheat engine and other features. - u32 GetPressState(); + u32 GetAndResetPressState(); static std::size_t NPadIdToIndex(u32 npad_id); static u32 IndexToNPad(std::size_t index); -- cgit v1.2.3