mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-05 17:41:46 +00:00
LevelDB: fixed crash on corrupted level.dat
This commit is contained in:
parent
6856761946
commit
e59a4296f8
@ -131,7 +131,11 @@ class LevelDB extends BaseLevelProvider{
|
|||||||
throw new LevelException("Truncated level.dat");
|
throw new LevelException("Truncated level.dat");
|
||||||
}
|
}
|
||||||
$nbt = new LittleEndianNBTStream();
|
$nbt = new LittleEndianNBTStream();
|
||||||
$levelData = $nbt->read(substr($rawLevelData, 8));
|
try{
|
||||||
|
$levelData = $nbt->read(substr($rawLevelData, 8));
|
||||||
|
}catch(\UnexpectedValueException $e){
|
||||||
|
throw new LevelException("Invalid level.dat (" . $e->getMessage() . ")", 0, $e);
|
||||||
|
}
|
||||||
if($levelData instanceof CompoundTag){
|
if($levelData instanceof CompoundTag){
|
||||||
$this->levelData = $levelData;
|
$this->levelData = $levelData;
|
||||||
}else{
|
}else{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user