Browse Source

Apply box2d heap tickler patch: make sure ChainShape:getPoints has enough stack size

Bart van Strien 12 years ago
parent
commit
259f15da6f
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/modules/physics/box2d/wrap_ChainShape.cpp

+ 2 - 0
src/modules/physics/box2d/wrap_ChainShape.cpp

@@ -92,6 +92,8 @@ int w_ChainShape_getPoints(lua_State *L)
 	ChainShape *c = luax_checkchainshape(L, 1);
 	const b2Vec2 *verts = c->getPoints();
 	int count = c->getVertexCount();
+	if (!lua_checkstack(L, count*2))
+		return luaL_error(L, "Too many return values");
 	for (int i = 0; i < count; i++)
 	{
 		b2Vec2 v = Physics::scaleUp(verts[i]);