From 0058bfcd2325d8a4384c1e8637fa7c37fafebd8e Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 6 Jun 2019 14:56:19 +0100 Subject: [PATCH] Utils: Limit length of printed stack trace strings to 80 characters --- src/pocketmine/utils/Utils.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pocketmine/utils/Utils.php b/src/pocketmine/utils/Utils.php index 6005c9f00..ef2fb0d34 100644 --- a/src/pocketmine/utils/Utils.php +++ b/src/pocketmine/utils/Utils.php @@ -589,10 +589,11 @@ class Utils{ /** * @param array $trace + * @param int $maxStringLength * * @return array */ - public static function printableTrace(array $trace) : array{ + public static function printableTrace(array $trace, int $maxStringLength = 80) : array{ $messages = []; for($i = 0; isset($trace[$i]); ++$i){ $params = ""; @@ -603,7 +604,7 @@ class Utils{ $args = $trace[$i]["params"]; } - $params = implode(", ", array_map(function($value){ + $params = implode(", ", array_map(function($value) use($maxStringLength){ if(is_object($value)){ return "object " . self::getNiceClassName($value); } @@ -611,7 +612,7 @@ class Utils{ return "array[" . count($value) . "]"; } if(is_string($value)){ - return "string[" . strlen($value) . "] " . Utils::printable($value); + return "string[" . strlen($value) . "] " . substr(Utils::printable($value), 0, $maxStringLength); } return gettype($value) . " " . Utils::printable((string) $value); }, $args));