From 44b6c54c57bc8f6477f8ef5ba161940520bed8ca Mon Sep 17 00:00:00 2001 From: Mikko Mononen Date: Sun, 10 Jan 2010 17:16:33 +0000 Subject: [PATCH] Fixed too large memory alloc in rcBuildPolyMesh. --- Recast/Source/RecastMesh.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Recast/Source/RecastMesh.cpp b/Recast/Source/RecastMesh.cpp index 98d7818..9e0b97c 100644 --- a/Recast/Source/RecastMesh.cpp +++ b/Recast/Source/RecastMesh.cpp @@ -823,13 +823,14 @@ bool rcBuildPolyMesh(rcContourSet& cset, int nvp, rcPolyMesh& mesh) rcGetLog()->log(RC_LOG_ERROR, "rcBuildPolyMesh: Out of memory 'mesh.polys' (%d).", maxTris*nvp*2); return false; } - mesh.regs = new unsigned short[maxTris*2]; + mesh.regs = new unsigned short[maxTris]; if (!mesh.regs) { if (rcGetLog()) rcGetLog()->log(RC_LOG_ERROR, "rcBuildPolyMesh: Out of memory 'mesh.regs' (%d).", maxTris); return false; } + mesh.nverts = 0; mesh.npolys = 0; mesh.nvp = nvp;