소스 검색

crypto_format: Stop adding padding in ed25519_signature_from_base64()

base64_decode() does not require padding.

Part of 29660.
teor 6 년 전
부모
커밋
5e2cba8eb4
1개의 변경된 파일2개의 추가작업 그리고 5개의 파일을 삭제
  1. 2 5
      src/lib/crypt_ops/crypto_format.c

+ 2 - 5
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)