]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix warnings on 32-bit builds.
authorNick Mathewson <nickm@torproject.org>
Thu, 25 Sep 2014 21:50:13 +0000 (17:50 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 25 Sep 2014 21:50:13 +0000 (17:50 -0400)
When size_t is the most memory you can have, make sure that things
referring to real parts of memory are size_t, not uint64_t or off_t.

But not on any released Tor.

src/common/crypto_curve25519.c
src/ext/ed25519/ref10/ed25519_ref10.h
src/ext/ed25519/ref10/open.c
src/ext/ed25519/ref10/sign.c

index 44b280a346f44a0822ba0bd9b72fda4b0f090a81..dcb1e95208055712b11d5130be00dd74066d5241 100644 (file)
@@ -181,6 +181,7 @@ crypto_read_tagged_contents_from_file(const char *fname,
   char *content = NULL;
   struct stat st;
   ssize_t r = -1;
+  size_t st_size;
 
   *tag_out = NULL;
   st.st_size = 0;
@@ -189,6 +190,7 @@ crypto_read_tagged_contents_from_file(const char *fname,
     goto end;
   if (st.st_size < 32 || st.st_size > 32 + data_out_len)
     goto end;
+  st_size = (size_t)st.st_size;
 
   memcpy(prefix, content, 32);
   prefix[32] = 0;
@@ -205,12 +207,12 @@ crypto_read_tagged_contents_from_file(const char *fname,
   *tag_out = tor_strndup(prefix+5+strlen(typestring),
                          strlen(prefix)-8-strlen(typestring));
 
-  memcpy(data_out, content+32, st.st_size-32);
-  r = st.st_size - 32;
+  memcpy(data_out, content+32, st_size-32);
+  r = st_size - 32;
 
  end:
   if (content)
-    memwipe(content, 0, st.st_size);
+    memwipe(content, 0, st_size);
   tor_free(content);
   return r;
 }
index 8c77b0e56b26c76db09d5057343929ac977c350b..af7e21a2ad36395c81cbeeb6537d9e78ec817dd0 100644 (file)
@@ -9,11 +9,11 @@ int ed25519_ref10_pubkey(unsigned char *pk,const unsigned char *sk);
 int ed25519_ref10_keygen(unsigned char *pk,unsigned char *sk);
 int ed25519_ref10_open(
   const unsigned char *signature,
-  const unsigned char *m,uint64_t mlen,
+  const unsigned char *m, size_t mlen,
   const unsigned char *pk);
 int ed25519_ref10_sign(
   unsigned char *sig,
-  const unsigned char *m,uint64_t mlen,
+  const unsigned char *m, size_t mlen,
   const unsigned char *sk, const unsigned char *pk);
 
 /* Added in Tor */
index 0e7abba138a4a85e326908939243d7ab520534cb..9dbeb4cdd092d9b294dc19127e09b7fae1538009 100644 (file)
@@ -9,7 +9,7 @@
 /* 'signature' must be 64-bytes long. */
 int crypto_sign_open(
   const unsigned char *signature,
-  const unsigned char *m,uint64_t mlen,
+  const unsigned char *m, size_t mlen,
   const unsigned char *pk
 )
 {
index e37b0d192db02fbe6dbfe7a4ca1d634e9450456c..1190a0fc99698ba60be9e5e404cd8c6e04b8f6c3 100644 (file)
@@ -7,7 +7,7 @@
 
 int crypto_sign(
   unsigned char *sig,
-  const unsigned char *m,uint64_t mlen,
+  const unsigned char *m, size_t mlen,
   const unsigned char *sk,const unsigned char *pk
 )
 {