From efabf7f8724adc996582f3d2d783e329d028abaf Mon Sep 17 00:00:00 2001 From: Brian Silverman Date: Wed, 16 Dec 2015 22:54:01 -0500 Subject: [PATCH 1/3] Don't call strlen on uninitialized memory if fgets fails --- examples/utils.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/utils.h b/examples/utils.h index 70180370..a7ecdd25 100644 --- a/examples/utils.h +++ b/examples/utils.h @@ -56,7 +56,9 @@ prompt_input(const char *prompt, char *input, const size_t max_input_len, printf("\nEnter %s (%zu bytes) > ", prompt, max_input_len); } fflush(stdout); - fgets(input_tmp, sizeof input_tmp, stdin); + if (fgets(input_tmp, sizeof input_tmp, stdin) == NULL) { + input_tmp[0] = '\0'; + } actual_input_len = strlen(input_tmp); /* trim \n */ From 18187ffab2ca05b4fbb1bc24df3e687ab43de46f Mon Sep 17 00:00:00 2001 From: Brian Silverman Date: Wed, 16 Dec 2015 22:54:04 -0500 Subject: [PATCH 2/3] Don't rely on assert evaluating its argument --- .../randombytes/salsa20/randombytes_salsa20_random.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c b/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c index dba635a0..0319375f 100644 --- a/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +++ b/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c @@ -86,7 +86,9 @@ sodium_hrtime(void) #else { struct timeval tv; - assert(gettimeofday(&tv, NULL) == 0); + int ret = gettimeofday(&tv, NULL); + (void)ret; + assert(ret == 0); ts = ((uint64_t) tv.tv_sec) * 1000000U + (uint64_t) tv.tv_usec; } #endif From 63b82c28e9a5d90f993fd31ff6df030cd52f55c6 Mon Sep 17 00:00:00 2001 From: Brian Silverman Date: Wed, 16 Dec 2015 22:54:06 -0500 Subject: [PATCH 3/3] Use the right type for sizeof's result --- test/default/auth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/default/auth.c b/test/default/auth.c index 417d8026..83fc393d 100644 --- a/test/default/auth.c +++ b/test/default/auth.c @@ -15,7 +15,7 @@ static unsigned char a2[crypto_auth_hmacsha512_BYTES]; int main(void) { crypto_auth_hmacsha512_state st; - int i; + size_t i; assert(crypto_auth_hmacsha512_statebytes() == sizeof(crypto_auth_hmacsha512_state));