mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-02-03 12:31:15 +00:00
Fix UB in software renderer
One cannot access elements of the vector that don't exist. `reserve` allocates memory, but doesn't add elements. `D3DRMVERTEX& dst = m_transformedVerts[i];` is UB and crashes on Windows debug build
This commit is contained in:
parent
1689a0063f
commit
30ce9d72dd
@ -710,7 +710,7 @@ void Direct3DRMSoftwareRenderer::SubmitDraw(
|
||||
|
||||
// Pre-transform all vertex positions and normals
|
||||
m_transformedVerts.clear();
|
||||
m_transformedVerts.reserve(mesh.vertices.size());
|
||||
m_transformedVerts.resize(mesh.vertices.size());
|
||||
for (size_t i = 0; i < mesh.vertices.size(); ++i) {
|
||||
const D3DRMVERTEX& src = mesh.vertices[i];
|
||||
D3DRMVERTEX& dst = m_transformedVerts[i];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user