[tor-commits] [tor/master] crypto_format: Stop adding padding in ed25519_signature_from_base64()

asn at torproject.org asn at torproject.org
Fri Apr 12 10:48:08 UTC 2019


commit 5e2cba8eb4b80990fa63626054d070ad77578028
Author: teor <teor at torproject.org>
Date:   Fri Apr 5 15:10:00 2019 +1000

    crypto_format: Stop adding padding in ed25519_signature_from_base64()
    
    base64_decode() does not require padding.
    
    Part of 29660.
---
 src/lib/crypt_ops/crypto_format.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/lib/crypt_ops/crypto_format.c b/src/lib/crypt_ops/crypto_format.c
index 269e6d9da..1827168c7 100644
--- a/src/lib/crypt_ops/crypto_format.c
+++ b/src/lib/crypt_ops/crypto_format.c
@@ -246,14 +246,11 @@ int
 ed25519_signature_from_base64(ed25519_signature_t *sig,
                               const char *input)
 {
-
   if (strlen(input) != ED25519_SIG_BASE64_LEN)
     return -1;
-  char buf[ED25519_SIG_BASE64_LEN+3];
+  char buf[ED25519_SIG_BASE64_LEN+1];
   memcpy(buf, input, ED25519_SIG_BASE64_LEN);
-  buf[ED25519_SIG_BASE64_LEN+0] = '=';
-  buf[ED25519_SIG_BASE64_LEN+1] = '=';
-  buf[ED25519_SIG_BASE64_LEN+2] = 0;
+  buf[ED25519_SIG_BASE64_LEN] = 0;
   char decoded[128];
   int n = base64_decode(decoded, sizeof(decoded), buf, strlen(buf));
   if (n < 0 || n != ED25519_SIG_LEN)





More information about the tor-commits mailing list