From af742ceb85512edd1d6883a5ea4f4188e64725be Mon Sep 17 00:00:00 2001 From: Lloyd Bryant Date: Fri, 29 Aug 2008 01:36:21 +0000 Subject: Added fix from TMW to prevent crash if a map layer has too many tiles --- ChangeLog | 5 +++++ src/resources/mapreader.cpp | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b4042915..9a391194 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-28 Lloyd Bryant ("Sanga") + + * Patch to prevent crash if a map layer has too many + tiles (From TMW svn, r4544) + 2008-08-21 Lloyd Bryant ("Sanga") * Added configuration option "EnableSync" that causes diff --git a/src/resources/mapreader.cpp b/src/resources/mapreader.cpp index 3dbaefde..e2b47e66 100644 --- a/src/resources/mapreader.cpp +++ b/src/resources/mapreader.cpp @@ -378,7 +378,13 @@ MapReader::readLayer(xmlNodePtr node, Map *map, int layer) map->setTileWithGid(x, y, layer, gid); x++; - if (x == w) {x = 0; y++;} + if (x == w) { + x = 0; y++; + + // When we're done, don't crash on too much data + if (y == h) + break; + } } free(binData); } -- cgit v1.2.3-60-g2f50