]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Remove base64_decode_nopad()
authorTaylor Yu <catalyst@torproject.org>
Fri, 7 Apr 2017 21:54:50 +0000 (17:54 -0400)
committerTaylor Yu <catalyst@torproject.org>
Fri, 7 Apr 2017 22:18:23 +0000 (18:18 -0400)
Remove base64_decode_nopad() because it is redundant now that
base64_decode() correctly handles both padded and unpadded base64
encodings with "right-sized" output buffers.

src/common/util_format.c
src/common/util_format.h

index 1033d14051e2be0310c1a05111cf3a95d7e4a4e4..1f7b8b03aabd950d0b7c355091c428a716db8b8c 100644 (file)
@@ -313,39 +313,6 @@ base64_encode_nopad(char *dest, size_t destlen,
   return (int)(out - dest);
 }
 
-/** As base64_decode, but do not require any padding on the input */
-int
-base64_decode_nopad(uint8_t *dest, size_t destlen,
-                    const char *src, size_t srclen)
-{
-  if (srclen > SIZE_T_CEILING - 4)
-    return -1;
-  char *buf = tor_malloc(srclen + 4);
-  memcpy(buf, src, srclen+1);
-  size_t buflen;
-  switch (srclen % 4)
-    {
-    case 0:
-    default:
-      buflen = srclen;
-      break;
-    case 1:
-      tor_free(buf);
-      return -1;
-    case 2:
-      memcpy(buf+srclen, "==", 3);
-      buflen = srclen + 2;
-      break;
-    case 3:
-      memcpy(buf+srclen, "=", 2);
-      buflen = srclen + 1;
-      break;
-  }
-  int n = base64_decode((char*)dest, destlen, buf, buflen);
-  tor_free(buf);
-  return n;
-}
-
 #undef BASE64_OPENSSL_LINELEN
 
 /** @{ */
index c92805246fe08b6e739b441e8fd93de04b85c7ad..adf48c00775ed5fe57f57271fd9c32e2f4d055aa 100644 (file)
@@ -37,8 +37,6 @@ int base64_encode(char *dest, size_t destlen, const char *src, size_t srclen,
 int base64_decode(char *dest, size_t destlen, const char *src, size_t srclen);
 int base64_encode_nopad(char *dest, size_t destlen,
                         const uint8_t *src, size_t srclen);
-int base64_decode_nopad(uint8_t *dest, size_t destlen,
-                        const char *src, size_t srclen);
 
 /** Characters that can appear (case-insensitively) in a base32 encoding. */
 #define BASE32_CHARS "abcdefghijklmnopqrstuvwxyz234567"