fixed potential crash bug if personal user level set cannot be found
[rocksndiamonds.git] / src / editor.c
index 5d38017e711084f4951f5270aaaa43ec995e6d6b..33f0d5b45388a07df884ebc7e2f419a05b680eb3 100644 (file)
@@ -7715,6 +7715,17 @@ static boolean PrepareSavingIntoPersonalLevelSet(void)
   leveldir_current =
     getTreeInfoFromIdentifier(leveldir_first, getLoginName());
 
+  // this may happen if "setup.internal.create_user_levelset" is FALSE
+  // or if file "levelinfo.conf" is missing in personal user level set
+  if (leveldir_current == NULL)
+  {
+    Request("Cannot find personal level set?!", REQ_CONFIRM);
+
+    leveldir_current = leveldir_former;
+
+    return FALSE;
+  }
+
   // find unused level number
   for (new_level_nr = leveldir_current->first_level; ; new_level_nr++)
   {