Sfoglia il codice sorgente

crypt_ops: Stop using a separate buffer in ed25519_signature_from_base64()

Part of 29960.
teor 6 anni fa
parent
commit
ebbc2c3d8f
1 ha cambiato i file con 2 aggiunte e 4 eliminazioni
  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);