From: teor Date: Fri, 12 Apr 2019 03:00:02 +0000 (+1000) Subject: crypt_ops: Stop using a separate buffer in ed25519_signature_from_base64() X-Git-Tag: tor-0.4.1.1-alpha~81^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ebbc2c3d8f8268c09b6df8270907a1123f926caa;p=thirdparty%2Ftor.git crypt_ops: Stop using a separate buffer in ed25519_signature_from_base64() Part of 29960. --- diff --git a/src/lib/crypt_ops/crypto_format.c b/src/lib/crypt_ops/crypto_format.c index 1827168c75..e11b391194 100644 --- a/src/lib/crypt_ops/crypto_format.c +++ b/src/lib/crypt_ops/crypto_format.c @@ -248,11 +248,9 @@ ed25519_signature_from_base64(ed25519_signature_t *sig, { if (strlen(input) != ED25519_SIG_BASE64_LEN) return -1; - char buf[ED25519_SIG_BASE64_LEN+1]; - memcpy(buf, input, ED25519_SIG_BASE64_LEN); - buf[ED25519_SIG_BASE64_LEN] = 0; char decoded[128]; - int n = base64_decode(decoded, sizeof(decoded), buf, strlen(buf)); + int n = base64_decode(decoded, sizeof(decoded), input, + ED25519_SIG_BASE64_LEN); if (n < 0 || n != ED25519_SIG_LEN) return -1; memcpy(sig->sig, decoded, ED25519_SIG_LEN);