Revert "Syndicate, test and fix base64 implementation"

This reverts commit 5a1958f2673f8c771e406a7e309e160b432c9a79.

This change broke the UBSan build bots. See
https://reviews.llvm.org/D75057 for more information.

GitOrigin-RevId: 49684f9db5c3e00a7739bc60d1d7aa9bb1c780d9
diff --git a/FuzzerUtil.cpp b/FuzzerUtil.cpp
index 87180d1..7aa84a1 100644
--- a/FuzzerUtil.cpp
+++ b/FuzzerUtil.cpp
@@ -151,36 +151,32 @@
   return true;
 }
 
-// Code duplicated (and tested) in llvm/include/llvm/Support/Base64.h
 std::string Base64(const Unit &U) {
   static const char Table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                               "abcdefghijklmnopqrstuvwxyz"
                               "0123456789+/";
-  std::string Buffer;
-  Buffer.resize(((U.size() + 2) / 3) * 4);
-
-  size_t i = 0, j = 0;
-  for (size_t n = U.size() / 3 * 3; i < n; i += 3, j += 4) {
-    uint32_t x = (U[i] << 16) | (U[i + 1] << 8) | U[i + 2];
-    Buffer[j + 0] = Table[(x >> 18) & 63];
-    Buffer[j + 1] = Table[(x >> 12) & 63];
-    Buffer[j + 2] = Table[(x >> 6) & 63];
-    Buffer[j + 3] = Table[x & 63];
+  std::string Res;
+  size_t i;
+  for (i = 0; i + 2 < U.size(); i += 3) {
+    uint32_t x = (U[i] << 16) + (U[i + 1] << 8) + U[i + 2];
+    Res += Table[(x >> 18) & 63];
+    Res += Table[(x >> 12) & 63];
+    Res += Table[(x >> 6) & 63];
+    Res += Table[x & 63];
   }
   if (i + 1 == U.size()) {
     uint32_t x = (U[i] << 16);
-    Buffer[j + 0] = Table[(x >> 18) & 63];
-    Buffer[j + 1] = Table[(x >> 12) & 63];
-    Buffer[j + 2] = '=';
-    Buffer[j + 3] = '=';
+    Res += Table[(x >> 18) & 63];
+    Res += Table[(x >> 12) & 63];
+    Res += "==";
   } else if (i + 2 == U.size()) {
-    uint32_t x = (U[i] << 16) | (U[i + 1] << 8);
-    Buffer[j + 0] = Table[(x >> 18) & 63];
-    Buffer[j + 1] = Table[(x >> 12) & 63];
-    Buffer[j + 2] = Table[(x >> 6) & 63];
-    Buffer[j + 3] = '=';
+    uint32_t x = (U[i] << 16) + (U[i + 1] << 8);
+    Res += Table[(x >> 18) & 63];
+    Res += Table[(x >> 12) & 63];
+    Res += Table[(x >> 6) & 63];
+    Res += "=";
   }
-  return Buffer;
+  return Res;
 }
 
 static std::mutex SymbolizeMutex;