summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-10-21 16:01:29 -0400
committerNick Mathewson <nickm@torproject.org>2015-10-21 16:01:29 -0400
commit5e9f2384cf0f97646d7ee1b9eccaab4dfe382536 (patch)
tree3dfcc13eca3649fc3a9a55cc915f1e7fb1f6fecc
parentbebf6c6c676e9d8df73743b2619bda23a59c54df (diff)
downloadtor-5e9f2384cf0f97646d7ee1b9eccaab4dfe382536.tar.gz
tor-5e9f2384cf0f97646d7ee1b9eccaab4dfe382536.zip
Fix various coverity-found issues
-rw-r--r--src/common/tortls.c5
-rw-r--r--src/test/test_rendcache.c7
-rw-r--r--src/test/test_tortls.c3
3 files changed, 10 insertions, 5 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 2a2a5d7fd1..1057cf40f0 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -891,9 +891,12 @@ tor_tls_cert_is_valid(int severity,
{
check_no_tls_errors();
EVP_PKEY *cert_key;
- EVP_PKEY *signing_key = X509_get_pubkey(signing_cert->cert);
int r, key_ok = 0;
+ if (!signing_cert)
+ goto bad;
+
+ EVP_PKEY *signing_key = X509_get_pubkey(signing_cert->cert);
if (!signing_key)
goto bad;
r = X509_verify(cert->cert, signing_key);
diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c
index dda527f214..11f11147cb 100644
--- a/src/test/test_rendcache.c
+++ b/src/test/test_rendcache.c
@@ -30,8 +30,8 @@ mock_rend_data(const char *onion_address)
{
rend_data_t *rend_query = tor_malloc_zero(sizeof(rend_data_t));
- strncpy(rend_query->onion_address, onion_address,
- REND_SERVICE_ID_LEN_BASE32+1);
+ strlcpy(rend_query->onion_address, onion_address,
+ sizeof(rend_query->onion_address));
rend_query->auth_type = REND_NO_AUTH;
rend_query->hsdirs_fp = smartlist_new();
smartlist_add(rend_query->hsdirs_fp, tor_memdup("aaaaaaaaaaaaaaaaaaaaaaaa",
@@ -1041,7 +1041,7 @@ test_rend_cache_purge(void *data)
rend_cache_purge();
tt_assert(rend_cache);
tt_assert(strmap_size(rend_cache) == 0);
- tt_assert(rend_cache != our_rend_cache);
+ tt_assert(rend_cache == our_rend_cache);
done:
rend_cache_free_all();
@@ -1244,6 +1244,7 @@ test_rend_cache_failure_purge(void *data)
rend_cache_failure_purge();
+ tt_ptr_op(rend_cache_failure, OP_NE, NULL);
tt_int_op(strmap_size(rend_cache_failure), OP_EQ, 0);
done:
diff --git a/src/test/test_tortls.c b/src/test/test_tortls.c
index 4d92e1737d..944edc4459 100644
--- a/src/test/test_tortls.c
+++ b/src/test/test_tortls.c
@@ -663,7 +663,7 @@ test_tortls_cert_get_key(void *ignored)
{
(void)ignored;
tor_x509_cert_t *cert = NULL;
- crypto_pk_t *res;
+ crypto_pk_t *res = NULL;
cert = tor_malloc_zero(sizeof(tor_x509_cert_t));
X509 *key = NULL;
key = tor_malloc_zero(sizeof(X509));
@@ -684,6 +684,7 @@ test_tortls_cert_get_key(void *ignored)
done:
fake_x509_free(key);
tor_free(cert);
+ crypto_pk_free(res);
}
#endif