Sfoglia il codice sorgente

Fix a 32-bit off_t/size_t warning in crypto_rsa.c

Bug not in any released Tor.
Nick Mathewson 5 anni fa
parent
commit
92357a07bd
1 ha cambiato i file con 5 aggiunte e 2 eliminazioni
  1. 5 2
      src/lib/crypt_ops/crypto_rsa.c

+ 5 - 2
src/lib/crypt_ops/crypto_rsa.c

@@ -551,9 +551,12 @@ crypto_pk_read_private_key_from_filename(crypto_pk_t *env,
   char *buf = read_file_to_str(keyfile, 0, &st);
   if (!buf)
     return -1;
+  if (st.st_size > SSIZE_MAX)
+    return -1;
 
-  int rv = crypto_pk_read_private_key_from_string(env, buf, st.st_size);
-  memwipe(buf, 0, st.st_size);
+  int rv = crypto_pk_read_private_key_from_string(env, buf,
+                                                  (ssize_t)st.st_size);
+  memwipe(buf, 0, (size_t)st.st_size);
   tor_free(buf);
   return rv;
 }