mapgen: Fix segfault when selecting invalid mapgen (#5491)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Sat, 1 Apr 2017 08:18:13 +0000 (10:18 +0200)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Sat, 1 Apr 2017 08:18:13 +0000 (10:18 +0200)
src/mapgen.cpp

index 6f3ea7cb01d46126c091ea082a49e4ee7b2d2b8a..b6e8c0fd12a3d94b60881ab6dd5dbf6ef9489873 100644 (file)
@@ -1003,8 +1003,11 @@ void MapgenParams::readParams(const Settings *settings)
        }
 
        std::string mg_name;
-       if (settings->getNoEx("mg_name", mg_name))
-               this->mgtype = Mapgen::getMapgenType(mg_name);
+       if (settings->getNoEx("mg_name", mg_name)) {
+               mgtype = Mapgen::getMapgenType(mg_name);
+               if (mgtype == MAPGEN_INVALID)
+                       mgtype = MAPGEN_DEFAULT;
+       }
 
        settings->getS16NoEx("water_level", water_level);
        settings->getS16NoEx("mapgen_limit", mapgen_limit);