From 94bf85ec233e54b7cdeda26983f818ec3872825f Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Fri, 14 Jan 2022 14:06:34 +0100 Subject: [PATCH] Bugfix: iterator_to_array() doesn't fetch current() --- .../0.0.0/app/libraries/MailSo/Imap/BodyStructure.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/BodyStructure.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/BodyStructure.php index 289b53e5b..95eaef2a5 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/BodyStructure.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/BodyStructure.php @@ -219,7 +219,7 @@ class BodyStructure }); if ($aParts->valid()) { - return \iterator_to_array($aParts); + return \array_merge([$aParts->current()], \iterator_to_array($aParts)); } $oPart = $this->SearchInlineEncryptedPart(); @@ -556,6 +556,7 @@ class BodyStructure $sFileName = self::decodeAttrParameter($aDispositionParams, 'filename', $sCharset); } } + ++$iExtraItemPos; } $oStructure = new self; @@ -582,11 +583,11 @@ class BodyStructure $oStructure->sLanguage = $aBodyStructure[$iExtraItemPos]; } ++$iExtraItemPos; - } - if ($iExtraItemPos < \count($aBodyStructure) && \is_string($aBodyStructure[$iExtraItemPos])) - { - $oStructure->sLocation = $aBodyStructure[$iExtraItemPos]; + if ($iExtraItemPos < \count($aBodyStructure) && \is_string($aBodyStructure[$iExtraItemPos])) + { + $oStructure->sLocation = $aBodyStructure[$iExtraItemPos]; + } } return $oStructure;