From b5f40e68e856d47676538cee147f9a2ad148ddeb Mon Sep 17 00:00:00 2001 From: Benson Joeris Date: Fri, 1 Nov 2019 10:19:51 -0400 Subject: [PATCH] Protect against overflow in MemRefs Change-Id: I70d4143bd5bcdefe4f5f0a610aec6ff0321112f5 --- renderdoc/driver/vulkan/vk_resources.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_resources.h b/renderdoc/driver/vulkan/vk_resources.h index b7bd985ad..826728f31 100644 --- a/renderdoc/driver/vulkan/vk_resources.h +++ b/renderdoc/driver/vulkan/vk_resources.h @@ -1329,6 +1329,7 @@ struct MemRefs inline MemRefs(VkDeviceSize offset, VkDeviceSize size, FrameRefType refType) : initializedLiveRes(NULL) { + size = RDCMIN(size, UINT64_MAX - offset); rangeRefs.update(offset, offset + size, refType, ComposeFrameRefs); } template @@ -1346,6 +1347,7 @@ template FrameRefType MemRefs::Update(VkDeviceSize offset, VkDeviceSize size, FrameRefType refType, Compose comp) { + size = RDCMIN(size, UINT64_MAX - offset); FrameRefType maxRefType = eFrameRef_None; rangeRefs.update(offset, offset + size, refType, [&maxRefType, comp](FrameRefType oldRef, FrameRefType newRef) -> FrameRefType {