diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/resources/mapreader.cpp | 8 |
2 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2008-08-28 Lloyd Bryant ("Sanga") <sanga@aethyra.com> + + * Patch to prevent crash if a map layer has too many + tiles (From TMW svn, r4544) + 2008-08-21 Lloyd Bryant ("Sanga") <sanga@aethyra.com> * 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); } |