From: kwolekr Date: Sun, 1 Dec 2013 13:57:35 +0000 (-0500) Subject: Cavegen: Fix possible out-of-bounds heightmap access X-Git-Tag: 0.4.9~65 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f3439c40d85967c4f66eeefbc325f9ebf94d75e1;p=oweals%2Fminetest.git Cavegen: Fix possible out-of-bounds heightmap access --- diff --git a/src/cavegen.cpp b/src/cavegen.cpp index 71f005d5b..f04c02db9 100644 --- a/src/cavegen.cpp +++ b/src/cavegen.cpp @@ -518,7 +518,8 @@ void CaveV7::carveRoute(v3f vec, float f, bool randomize_xz, bool is_ravine) { v3s16 p(cp.X + x0, cp.Y + y0, cp.Z + z0); p += of; - if (!is_ravine && mg->heightmap && should_make_cave_hole) { + if (!is_ravine && mg->heightmap && should_make_cave_hole && + p.X <= node_max.X && p.Z <= node_max.Z) { int maplen = node_max.X - node_min.X + 1; int idx = (p.Z - node_min.Z) * maplen + (p.X - node_min.X); if (p.Y >= mg->heightmap[idx] - 2)