diff --git a/include/class.mailer.php b/include/class.mailer.php index 5cd4dfc4b239a0ea31e3cac436ab8fa570f9201a..49b15ec285a0f84176cc5f235389e2dc970f51f2 100644 --- a/include/class.mailer.php +++ b/include/class.mailer.php @@ -225,7 +225,8 @@ class Mailer { 'B' => function($id, $tag) use ($self) { $format = 'Vuid/VentryId/VthreadId/auserClass/a*sig'; if ($tag && ($tag = base64_decode($tag))) { - $info = unpack($format, $tag); + if (!($info = @unpack($format, $tag)) || !isset($info['sig'])) + return false; $sysid = $self::getSystemMessageIdCode(); $shorttag = substr($tag, 0, 13); $chksig = substr(hash_hmac('sha1', $shorttag.$id.$sysid,