From 12e9f3d010f887c3fe0b32f3ddbf25f2ef6b7323 Mon Sep 17 00:00:00 2001
From: sapier <Sapier at GMX dot net>
Date: Wed, 16 Jan 2013 23:27:11 +0000
Subject: add limit for steps to avoid runaway memory consumption by collision
 handling

---
 src/collision.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/collision.cpp b/src/collision.cpp
index 143b559fa..eb948e3c3 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -199,6 +199,10 @@ collisionMoveResult collisionMoveSimple(Map *map, IGameDef *gamedef,
 	/*
 		Calculate new velocity
 	*/
+	if( dtime > 0.5 ) {
+		infostream<<"collisionMoveSimple: WARNING: maximum step interval exceeded, lost movement details!"<<std::endl;
+		dtime = 0.5;
+	}
 	speed_f += accel_f * dtime;
 
     // If there is no speed, there are no collisions
-- 
cgit v1.2.3