mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
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:
parent
1c5d680b3d
commit
9190468246
@ -181,6 +181,7 @@ crypto_read_tagged_contents_from_file(const char *fname,
|
|||||||
char *content = NULL;
|
char *content = NULL;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
ssize_t r = -1;
|
ssize_t r = -1;
|
||||||
|
size_t st_size;
|
||||||
|
|
||||||
*tag_out = NULL;
|
*tag_out = NULL;
|
||||||
st.st_size = 0;
|
st.st_size = 0;
|
||||||
@ -189,6 +190,7 @@ crypto_read_tagged_contents_from_file(const char *fname,
|
|||||||
goto end;
|
goto end;
|
||||||
if (st.st_size < 32 || st.st_size > 32 + data_out_len)
|
if (st.st_size < 32 || st.st_size > 32 + data_out_len)
|
||||||
goto end;
|
goto end;
|
||||||
|
st_size = (size_t)st.st_size;
|
||||||
|
|
||||||
memcpy(prefix, content, 32);
|
memcpy(prefix, content, 32);
|
||||||
prefix[32] = 0;
|
prefix[32] = 0;
|
||||||
@ -205,12 +207,12 @@ crypto_read_tagged_contents_from_file(const char *fname,
|
|||||||
*tag_out = tor_strndup(prefix+5+strlen(typestring),
|
*tag_out = tor_strndup(prefix+5+strlen(typestring),
|
||||||
strlen(prefix)-8-strlen(typestring));
|
strlen(prefix)-8-strlen(typestring));
|
||||||
|
|
||||||
memcpy(data_out, content+32, st.st_size-32);
|
memcpy(data_out, content+32, st_size-32);
|
||||||
r = st.st_size - 32;
|
r = st_size - 32;
|
||||||
|
|
||||||
end:
|
end:
|
||||||
if (content)
|
if (content)
|
||||||
memwipe(content, 0, st.st_size);
|
memwipe(content, 0, st_size);
|
||||||
tor_free(content);
|
tor_free(content);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -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_keygen(unsigned char *pk,unsigned char *sk);
|
||||||
int ed25519_ref10_open(
|
int ed25519_ref10_open(
|
||||||
const unsigned char *signature,
|
const unsigned char *signature,
|
||||||
const unsigned char *m,uint64_t mlen,
|
const unsigned char *m, size_t mlen,
|
||||||
const unsigned char *pk);
|
const unsigned char *pk);
|
||||||
int ed25519_ref10_sign(
|
int ed25519_ref10_sign(
|
||||||
unsigned char *sig,
|
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);
|
const unsigned char *sk, const unsigned char *pk);
|
||||||
|
|
||||||
/* Added in Tor */
|
/* Added in Tor */
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
/* 'signature' must be 64-bytes long. */
|
/* 'signature' must be 64-bytes long. */
|
||||||
int crypto_sign_open(
|
int crypto_sign_open(
|
||||||
const unsigned char *signature,
|
const unsigned char *signature,
|
||||||
const unsigned char *m,uint64_t mlen,
|
const unsigned char *m, size_t mlen,
|
||||||
const unsigned char *pk
|
const unsigned char *pk
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
int crypto_sign(
|
int crypto_sign(
|
||||||
unsigned char *sig,
|
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
|
const unsigned char *sk,const unsigned char *pk
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user