Explorar el Código

crypt_ops: Stop using a separate buffer in ed25519_signature_from_base64()

Part of 29960.
teor hace 6 años
padre
commit
ebbc2c3d8f
Se han modificado 1 ficheros con 2 adiciones y 4 borrados
  1. 2 4
      src/lib/crypt_ops/crypto_format.c

+ 2 - 4
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);