From 153a3a6af688387bd544a5a4dabbac8833e13589 Mon Sep 17 00:00:00 2001 From: MarkBaker Date: Wed, 11 May 2022 16:06:19 +0200 Subject: [PATCH] Fix for null value passed to extractSheetTitle() --- phpstan-baseline.neon | 27 +++++++++++++--------- src/PhpSpreadsheet/Worksheet/Worksheet.php | 4 ++++ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index f862d205..007a44a8 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -95,6 +95,11 @@ parameters: count: 1 path: src/PhpSpreadsheet/Calculation/Calculation.php + - + message: "#^Negated boolean expression is always true\\.$#" + count: 1 + path: src/PhpSpreadsheet/Calculation/Calculation.php + - message: "#^Offset 'type' does not exist on array\\|null\\.$#" count: 3 @@ -2290,6 +2295,11 @@ parameters: count: 1 path: src/PhpSpreadsheet/Reader/Xls.php + - + message: "#^Right side of && is always true\\.$#" + count: 1 + path: src/PhpSpreadsheet/Reader/Xls.php + - message: "#^Unreachable statement \\- code above always terminates\\.$#" count: 8 @@ -3000,6 +3010,11 @@ parameters: count: 1 path: src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php + - + message: "#^Right side of && is always true\\.$#" + count: 1 + path: src/PhpSpreadsheet/Reader/Xlsx/Styles.php + - message: "#^Parameter \\#1 \\$haystack of function strpos expects string, string\\|false given\\.$#" count: 1 @@ -4197,7 +4212,7 @@ parameters: - message: "#^Strict comparison using \\=\\=\\= between string and null will always evaluate to false\\.$#" - count: 1 + count: 2 path: src/PhpSpreadsheet/Worksheet/Worksheet.php - @@ -5240,11 +5255,6 @@ parameters: count: 1 path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php - - - message: "#^Negated boolean expression is always false\\.$#" - count: 1 - path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php - - message: "#^Parameter \\#2 \\$content of method XMLWriter\\:\\:writeElement\\(\\) expects string\\|null, int\\|string given\\.$#" count: 1 @@ -5285,11 +5295,6 @@ parameters: count: 1 path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php - - - message: "#^Strict comparison using \\=\\=\\= between false and true will always evaluate to false\\.$#" - count: 2 - path: src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php - - message: "#^Method PhpOffice\\\\PhpSpreadsheet\\\\Writer\\\\Xlsx\\\\Xlfn\\:\\:addXlfn\\(\\) should return string but returns string\\|null\\.$#" count: 1 diff --git a/src/PhpSpreadsheet/Worksheet/Worksheet.php b/src/PhpSpreadsheet/Worksheet/Worksheet.php index 4c0237f5..dd2770d4 100644 --- a/src/PhpSpreadsheet/Worksheet/Worksheet.php +++ b/src/PhpSpreadsheet/Worksheet/Worksheet.php @@ -3011,6 +3011,10 @@ class Worksheet implements IComparable */ public static function extractSheetTitle($range, $returnRange = false) { + if ($range === null) { + return $returnRange ? [null, null] : null; + } + // Sheet title included? if (($sep = strrpos($range, '!')) === false) { return $returnRange ? ['', $range] : '';