From d53810c6bc5676233cf85cfe3abc15dea3c8482a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 17 Oct 2016 18:21:07 +0100 Subject: [PATCH] Fix banlist crash when | is entered in any /ban arguments --- src/pocketmine/permission/BanEntry.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/permission/BanEntry.php b/src/pocketmine/permission/BanEntry.php index 921b116ca..7ec82031a 100644 --- a/src/pocketmine/permission/BanEntry.php +++ b/src/pocketmine/permission/BanEntry.php @@ -21,6 +21,8 @@ namespace pocketmine\permission; +use pocketmine\utils\MainLogger; + class BanEntry{ public static $format = "Y-m-d H:i:s O"; @@ -109,7 +111,12 @@ class BanEntry{ $str = explode("|", trim($str)); $entry = new BanEntry(trim(array_shift($str))); if(count($str) > 0){ - $entry->setCreated(\DateTime::createFromFormat(self::$format, array_shift($str))); + $datetime = \DateTime::createFromFormat(self::$format, array_shift($str)); + if(!($datetime instanceof \DateTime)){ + MainLogger::getLogger()->alert("Error parsing date for BanEntry for player \"" . $entry->getName() . "\", the format may be invalid!"); + return $entry; + } + $entry->setCreated($datetime); if(count($str) > 0){ $entry->setSource(trim(array_shift($str))); if(count($str) > 0){