From 5c3e78e1d300d66dee9772e256ee8e1a8017069b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 12 Feb 2021 14:58:01 +0000 Subject: [PATCH 1/3] Bump phpstan/phpstan from 0.12.74 to 0.12.75 (#4033) --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index f33e93530..0479a6f2e 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "pocketmine/spl": "^0.4.0" }, "require-dev": { - "phpstan/phpstan": "0.12.74", + "phpstan/phpstan": "0.12.75", "phpstan/phpstan-phpunit": "^0.12.6", "phpstan/phpstan-strict-rules": "^0.12.2", "phpunit/phpunit": "^9.2" diff --git a/composer.lock b/composer.lock index 8dc4bb662..2513561ab 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2c3d44ba85e878b5862488bdba8878c8", + "content-hash": "3b89973c021770a99ef8bcd0cd8570ba", "packages": [ { "name": "adhocore/json-comment", @@ -1002,16 +1002,16 @@ }, { "name": "phpstan/phpstan", - "version": "0.12.74", + "version": "0.12.75", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "bc5f9483c8f461c86653dcbd040cf0d2778c91a2" + "reference": "2e4738cd67e0163861a065180eff7eb5c8417d6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/bc5f9483c8f461c86653dcbd040cf0d2778c91a2", - "reference": "bc5f9483c8f461c86653dcbd040cf0d2778c91a2", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/2e4738cd67e0163861a065180eff7eb5c8417d6e", + "reference": "2e4738cd67e0163861a065180eff7eb5c8417d6e", "shasum": "" }, "require": { @@ -1042,7 +1042,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.74" + "source": "https://github.com/phpstan/phpstan/tree/0.12.75" }, "funding": [ { @@ -1058,7 +1058,7 @@ "type": "tidelift" } ], - "time": "2021-02-08T15:00:25+00:00" + "time": "2021-02-11T13:58:47+00:00" }, { "name": "phpstan/phpstan-phpunit", From 2aef83e7d7e435f3456be332a65b02cbb5fa67f5 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 12 Feb 2021 15:04:50 +0000 Subject: [PATCH 2/3] MainLogger: fix type ambiguity --- src/pocketmine/utils/MainLogger.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pocketmine/utils/MainLogger.php b/src/pocketmine/utils/MainLogger.php index a55d15c19..4e34a1610 100644 --- a/src/pocketmine/utils/MainLogger.php +++ b/src/pocketmine/utils/MainLogger.php @@ -346,6 +346,7 @@ class MainLogger extends \AttachableThreadedLogger{ */ private function writeLogStream($logResource) : void{ while($this->logStream->count() > 0){ + /** @var string $chunk */ $chunk = $this->logStream->shift(); fwrite($logResource, $chunk); } From 094102fe9267fadc9d60e9efb0f709f30a4ae7aa Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 12 Feb 2021 16:16:36 +0000 Subject: [PATCH 3/3] fopen() might return FALSE if permission was denied to read/write the file --- src/pocketmine/PocketMine.php | 7 +++++- tests/phpstan/configs/l7-baseline.neon | 30 -------------------------- 2 files changed, 6 insertions(+), 31 deletions(-) diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index 0c4740602..f2fa55875 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -228,7 +228,12 @@ namespace pocketmine { mkdir(\pocketmine\DATA, 0777, true); } - define('pocketmine\LOCK_FILE', fopen(\pocketmine\DATA . 'server.lock', "a+b")); + $lockFile = fopen(\pocketmine\DATA . 'server.lock', "a+b"); + if($lockFile === false){ + critical_error("Unable to open server.lock file. Please check that the current user has read/write permissions to it."); + exit(1); + } + define('pocketmine\LOCK_FILE', $lockFile); if(!flock(\pocketmine\LOCK_FILE, LOCK_EX | LOCK_NB)){ //wait for a shared lock to avoid race conditions if two servers started at the same time - this makes sure the //other server wrote its PID and released exclusive lock before we get our lock diff --git a/tests/phpstan/configs/l7-baseline.neon b/tests/phpstan/configs/l7-baseline.neon index 18de57e8f..0355f0271 100644 --- a/tests/phpstan/configs/l7-baseline.neon +++ b/tests/phpstan/configs/l7-baseline.neon @@ -70,36 +70,6 @@ parameters: count: 2 path: ../../../src/pocketmine/PocketMine.php - - - message: "#^Parameter \\#1 \\$fp of function flock expects resource, resource\\|false given\\.$#" - count: 4 - path: ../../../src/pocketmine/PocketMine.php - - - - message: "#^Parameter \\#1 \\$source of function stream_get_contents expects resource, resource\\|false given\\.$#" - count: 1 - path: ../../../src/pocketmine/PocketMine.php - - - - message: "#^Parameter \\#1 \\$fp of function ftruncate expects resource, resource\\|false given\\.$#" - count: 1 - path: ../../../src/pocketmine/PocketMine.php - - - - message: "#^Parameter \\#1 \\$fp of function fwrite expects resource, resource\\|false given\\.$#" - count: 1 - path: ../../../src/pocketmine/PocketMine.php - - - - message: "#^Parameter \\#1 \\$fp of function fflush expects resource, resource\\|false given\\.$#" - count: 1 - path: ../../../src/pocketmine/PocketMine.php - - - - message: "#^Parameter \\#1 \\$fp of function fclose expects resource, resource\\|false given\\.$#" - count: 1 - path: ../../../src/pocketmine/PocketMine.php - - message: "#^Parameter \\#1 \\$buffer of method pocketmine\\\\nbt\\\\NBTStream\\:\\:readCompressed\\(\\) expects string, string\\|false given\\.$#" count: 1