From 6540c6e445ff606b077e8548d0870b3eadb09adc Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 22 Apr 2019 17:51:31 +0100 Subject: [PATCH] Add bounds check when looking up constant buffer on vulkan --- renderdoc/api/replay/pipestate.inl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renderdoc/api/replay/pipestate.inl b/renderdoc/api/replay/pipestate.inl index e610a8a36..f4ea43964 100644 --- a/renderdoc/api/replay/pipestate.inl +++ b/renderdoc/api/replay/pipestate.inl @@ -986,6 +986,11 @@ BoundCBuffer PipeState::GetConstantBuffer(ShaderStage stage, uint32_t BufIdx, ui return ret; } + if(bind.bindset >= pipe.descriptorSets.count() || + bind.bind >= pipe.descriptorSets[bind.bindset].bindings.count() || + ArrayIdx > pipe.descriptorSets[bind.bindset].bindings[bind.bind].binds.size()) + return BoundCBuffer(); + const VKPipe::BindingElement &descriptorBind = pipe.descriptorSets[bind.bindset].bindings[bind.bind].binds[ArrayIdx];