From c9141c24e1b4a426badb6bdb7dc469a44fe29d6f Mon Sep 17 00:00:00 2001
From: Paragon Initiative Enterprises <security@paragonie.com>
Date: Fri, 10 Jun 2022 03:00:16 -0400
Subject: [PATCH] Fix canonical padding.

---
 src/Base64.php | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/Base64.php b/src/Base64.php
index dd16938..6cf44bf 100644
--- a/src/Base64.php
+++ b/src/Base64.php
@@ -189,6 +189,9 @@ abstract class Base64 implements EncoderInterface
                     ((($c1 << 4) | ($c2 >> 2)) & 0xff)
                 );
                 $err |= ($c0 | $c1 | $c2) >> 8;
+                if ($strictPadding) {
+                    $err |= ($c2 << 6) & 0xff;
+                }
             } elseif ($i + 1 < $srcLen) {
                 $c1 = static::decode6Bits($chunk[2]);
                 $dest .= \pack(
@@ -196,6 +199,9 @@ abstract class Base64 implements EncoderInterface
                     ((($c0 << 2) | ($c1 >> 4)) & 0xff)
                 );
                 $err |= ($c0 | $c1) >> 8;
+                if ($strictPadding) {
+                    $err |= ($c1 << 4) & 0xff;
+                }
             } elseif ($strictPadding) {
                 $err |= 1;
             }
-- 
GitLab