From 963fbd1572e805ae5205381ba6cb372699d6bd30 Mon Sep 17 00:00:00 2001 From: Treer Date: Tue, 17 Aug 2021 01:55:35 +1000 Subject: Fix access violation in create_schematic() (#11534) fixes #11533 Schematics saved from y locations greater than 0 would cause an access violation if layer probabilities were specified --- src/mapgen/mg_schematic.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/mapgen/mg_schematic.cpp') diff --git a/src/mapgen/mg_schematic.cpp b/src/mapgen/mg_schematic.cpp index 653bad4fe..848a43626 100644 --- a/src/mapgen/mg_schematic.cpp +++ b/src/mapgen/mg_schematic.cpp @@ -598,8 +598,9 @@ void Schematic::applyProbabilities(v3s16 p0, } for (size_t i = 0; i != splist->size(); i++) { - s16 y = (*splist)[i].first - p0.Y; - slice_probs[y] = (*splist)[i].second; + s16 slice = (*splist)[i].first; + if (slice < size.Y) + slice_probs[slice] = (*splist)[i].second; } } -- cgit v1.2.3