diff --git a/renderdoc/replay/replay_controller.cpp b/renderdoc/replay/replay_controller.cpp index 2b440e8ce..85e74893c 100644 --- a/renderdoc/replay/replay_controller.cpp +++ b/renderdoc/replay/replay_controller.cpp @@ -1854,6 +1854,9 @@ rdcpair ReplayController::BuildTargetShader( { CHECK_REPLAY_THREAD(); + if(source.empty()) + return rdcpair(ResourceId(), "0-byte shader is not valid"); + rdcarray encodings = m_pDevice->GetTargetShaderEncodings(); if(encodings.indexOf(sourceEncoding) == -1) @@ -1892,6 +1895,9 @@ rdcpair ReplayController::BuildCustomShader( ResourceId id; rdcstr errs; + if(source.empty()) + return rdcpair(ResourceId(), "0-byte shader is not valid"); + switch(type) { case ShaderStage::Vertex: