From b868b5a258db190c2aafc8cda8de31528b08972e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 6 Dec 2018 15:28:35 +0100 Subject: [PATCH] vkd3d: Avoid out-of-bounds array access in d3d12_device_CopyDescriptors(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- libs/vkd3d/device.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 9e368283..5bcfc293 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -1993,13 +1993,14 @@ static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device *iface, { dst_idx = 0; ++dst_range_idx; + + if (dst_range_idx >= dst_descriptor_range_count) + return; + dst = d3d12_desc_from_cpu_handle(dst_descriptor_range_offsets[dst_range_idx]); dst_range_size = dst_descriptor_range_sizes ? dst_descriptor_range_sizes[dst_range_idx] : 1; } - if (dst_range_idx >= dst_descriptor_range_count) - break; - d3d12_desc_copy(dst++, src++, device); ++dst_idx;