commit 5e2cba8eb4b80990fa63626054d070ad77578028 Author: teor teor@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)
tor-commits@lists.torproject.org