From f94b92c3a699c3146ac1155a8c3ff43c0121f362 Mon Sep 17 00:00:00 2001 From: Martin Lademann Date: Sat, 24 Oct 2020 13:32:50 +0200 Subject: [PATCH] Fix uncaught exception when loading files with strange range defs [#1686] --- CHANGELOG.md | 1 + src/PhpSpreadsheet/Reader/Xlsx.php | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3f149df2a..a9ab44969f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org). - Ensure that the list of shared formulae is maintained when an xlsx file is chunked with readFilter[Issue #169](https://github.com/PHPOffice/PhpSpreadsheet/issues/1669). - Fix for notice during accessing "cached magnification factor" offset [#1354](https://github.com/PHPOffice/PhpSpreadsheet/pull/1354) +- Fix uncaught exception when loading files with strange range defs [#1686] ## 1.15.0 - 2020-10-11 diff --git a/src/PhpSpreadsheet/Reader/Xlsx.php b/src/PhpSpreadsheet/Reader/Xlsx.php index 3a75edf67d..949fc7c0ef 100644 --- a/src/PhpSpreadsheet/Reader/Xlsx.php +++ b/src/PhpSpreadsheet/Reader/Xlsx.php @@ -5,6 +5,7 @@ use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use PhpOffice\PhpSpreadsheet\Cell\Hyperlink; use PhpOffice\PhpSpreadsheet\DefinedName; +use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException; use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner; use PhpOffice\PhpSpreadsheet\Reader\Xlsx\AutoFilter; use PhpOffice\PhpSpreadsheet\Reader\Xlsx\Chart; @@ -1398,7 +1399,16 @@ public function load($pFilename) $locatedSheet = $excel->getSheetByName($extractedSheetName); } - $excel->addDefinedName(DefinedName::createInstance((string) $definedName['name'], $locatedSheet, $definedRange, false)); + try { + $excel->addDefinedName(DefinedName::createInstance( + (string) $definedName['name'], + $locatedSheet, + $definedRange, + false + )); + } catch (PhpSpreadsheetException $exception) { + continue; + } } } }