From 5ddf6fc09bcf287aff333c34ea0269ca2349907f Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Sun, 22 Feb 2026 00:22:37 +0000 Subject: [PATCH] Check buffer size --- src/Cafe/OS/libs/camera/camera.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Cafe/OS/libs/camera/camera.cpp b/src/Cafe/OS/libs/camera/camera.cpp index 70cb81bc..1ae98691 100644 --- a/src/Cafe/OS/libs/camera/camera.cpp +++ b/src/Cafe/OS/libs/camera/camera.cpp @@ -13,6 +13,7 @@ namespace camera { constexpr unsigned CAMERA_WIDTH = 640; constexpr unsigned CAMERA_HEIGHT = 480; + constexpr unsigned CAMERA_PITCH = 768; enum CAMStatus : sint32 { @@ -247,6 +248,7 @@ namespace camera return CAM_STATUS_INVALID_HANDLE; if (!targetSurface || targetSurface->data.IsNull() || targetSurface->size < 1) return CAM_STATUS_INVALID_ARG; + cemu_assert_debug(targetSurface->size >= ((CAMERA_HEIGHT * CAMERA_PITCH * 3) >> 1)); auto lock = std::scoped_lock(s_instance.mutex); if (!s_instance.initialized) return CAM_STATUS_UNINITIALIZED;