Sfoglia il codice sorgente

crypto_format: Remove unused return value from digest_to_base64()

Part of 29660.
teor 5 anni fa
parent
commit
abaed046a6
2 ha cambiato i file con 11 aggiunte e 7 eliminazioni
  1. 10 6
      src/lib/crypt_ops/crypto_format.c
  2. 1 1
      src/lib/crypt_ops/crypto_format.h

+ 10 - 6
src/lib/crypt_ops/crypto_format.c

@@ -250,17 +250,21 @@ ed25519_signature_from_base64(ed25519_signature_t *sig,
   return 0;
 }
 
-/** Base64 encode DIGEST_LINE bytes from <b>digest</b>, remove the trailing =
+/** Base64 encode DIGEST_LEN bytes from <b>digest</b>, remove the trailing =
  * characters, and store the nul-terminated result in the first
- * BASE64_DIGEST_LEN+1 bytes of <b>d64</b>.  */
-int
+ * BASE64_DIGEST_LEN+1 bytes of <b>d64</b>.
+ * Can not fail. */
+void
 digest_to_base64(char *d64, const char *digest)
 {
   char buf[256];
-  base64_encode(buf, sizeof(buf), digest, DIGEST_LEN, 0);
-  buf[BASE64_DIGEST_LEN] = '\0';
+  int n = base64_encode_nopad(buf, sizeof(buf),
+                              (const uint8_t *)digest, DIGEST_LEN);
+  /* These asserts should always succeed, unless there is a bug in
+   * base64_encode_nopad(). */
+  tor_assert(n == BASE64_DIGEST_LEN);
+  tor_assert(buf[BASE64_DIGEST_LEN] == '\0');
   memcpy(d64, buf, BASE64_DIGEST_LEN+1);
-  return 0;
 }
 
 /** Given a base64 encoded, nul-terminated digest in <b>d64</b> (without

+ 1 - 1
src/lib/crypt_ops/crypto_format.h

@@ -42,7 +42,7 @@ int ed25519_signature_from_base64(struct ed25519_signature_t *sig,
 int ed25519_signature_to_base64(char *output,
                                 const struct ed25519_signature_t *sig);
 
-int digest_to_base64(char *d64, const char *digest);
+void digest_to_base64(char *d64, const char *digest);
 int digest_from_base64(char *digest, const char *d64);
 int digest256_to_base64(char *d64, const char *digest);
 int digest256_from_base64(char *digest, const char *d64);