From: Nick Mathewson Date: Wed, 21 Oct 2015 20:01:29 +0000 (-0400) Subject: Fix various coverity-found issues X-Git-Tag: tor-0.2.8.1-alpha~273 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e9f2384cf0f97646d7ee1b9eccaab4dfe382536;p=thirdparty%2Ftor.git Fix various coverity-found issues --- 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