From 93f0997c1234938c48c78546604c5cc5542c3d01 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 29 Apr 2021 10:25:18 +0100 Subject: [PATCH] Fix crash on 32-bit index buffers that are less than 4 bytes in size --- qrenderdoc/Windows/BufferViewer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 582a3530d..b7a20852f 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -1693,7 +1693,8 @@ static void RT_FetchMeshData(IReplayController *r, ICaptureContext &ctx, Populat if(draw && ib.byteStride != 0 && !idata.isEmpty()) data->vsinConfig.indices->storage.resize( - sizeof(uint32_t) * qMin(numIndices, ((uint32_t)idata.size() / ib.byteStride))); + sizeof(uint32_t) * + qMin(numIndices, (((uint32_t)idata.size() + ib.byteStride - 1) / ib.byteStride))); else if(draw && (draw->flags & DrawFlags::Indexed)) data->vsinConfig.indices->storage.resize(sizeof(uint32_t));