Fix warnings on 32-bit builds.

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.
This commit is contained in:
Nick Mathewson 2014-09-25 17:50:13 -04:00
parent 1c5d680b3d
commit 9190468246
4 changed files with 9 additions and 7 deletions

View 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;
}

View 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 */

View 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
)
{

View 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
)
{