From 57e62a48ea3edfbb01b8a862b4d0b3c4ff7b038e Mon Sep 17 00:00:00 2001 From: Francesc Sans Date: Sun, 12 Jul 2026 10:41:43 +0200 Subject: [PATCH] fix: cast preg_match close offset to int in MetadataParser PREG_OFFSET_CAPTURE returns the offset as int|string depending on PHP version. Cast $closeMatch[0][1] to int before arithmetic to satisfy static analysis. --- src/Metadata/MetadataParser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Metadata/MetadataParser.php b/src/Metadata/MetadataParser.php index e96febe..0904ece 100644 --- a/src/Metadata/MetadataParser.php +++ b/src/Metadata/MetadataParser.php @@ -101,7 +101,7 @@ private static function findElements(string $xml, string $tagName): array $closePattern = '/<\/([\w]+:)?' . \preg_quote($tagName, '/') . '\s*>/i'; if (\preg_match($closePattern, $xml, $closeMatch, \PREG_OFFSET_CAPTURE, $offset + \strlen($tagText))) { $closeTag = $closeMatch[0][0]; - $closePos = $closeMatch[0][1]; + $closePos = (int) $closeMatch[0][1]; $fullElement = \substr($xml, $offset, $closePos + \strlen($closeTag) - $offset); $elements[] = $fullElement; } else {