Add safety checks to material constants binding code to prevent invalid memory access
This commit is contained in:
@@ -57,9 +57,10 @@ void ForwardMaterialShader::Bind(BindParameters& params)
|
||||
auto context = params.GPUContext;
|
||||
auto& view = params.RenderContext.View;
|
||||
auto& drawCall = *params.FirstDrawCall;
|
||||
byte* cb = _cbData.Get();
|
||||
auto materialData = reinterpret_cast<ForwardMaterialShaderData*>(cb);
|
||||
cb += sizeof(ForwardMaterialShaderData);
|
||||
Span<byte> cb(_cbData.Get(), _cbData.Count());
|
||||
ASSERT_LOW_LAYER(cb.Length() >= sizeof(ForwardMaterialShaderData));
|
||||
auto materialData = reinterpret_cast<ForwardMaterialShaderData*>(cb.Get());
|
||||
cb = Span<byte>(cb.Get() + sizeof(ForwardMaterialShaderData), cb.Length() - sizeof(ForwardMaterialShaderData));
|
||||
int32 srv = 2;
|
||||
|
||||
// Setup features
|
||||
|
||||
Reference in New Issue
Block a user