From d583459d5845378a2b9ac0174ebe67a7473932fb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 29 Jun 2018 13:48:36 -0400 Subject: [PATCH 1/2] Fix some memory errors in the recent coverity fixes. Found by asan on travis :/ --- src/test/test_channelpadding.c | 1 + src/test/test_hs_descriptor.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c index 0bc9699feb..d399738ce6 100644 --- a/src/test/test_channelpadding.c +++ b/src/test/test_channelpadding.c @@ -677,6 +677,7 @@ test_channelpadding_consensus(void *arg) memcpy(relay->identity_digest, ((channel_tls_t *)chan)->conn->identity_digest, DIGEST_LEN); smartlist_add(current_md_consensus->routerstatus_list, relay); + relay = NULL; /* Prevent double-free */ tried_to_write_cell = 0; decision = channelpadding_decide_to_pad_channel(chan); diff --git a/src/test/test_hs_descriptor.c b/src/test/test_hs_descriptor.c index 45850ada4e..a40616c61e 100644 --- a/src/test/test_hs_descriptor.c +++ b/src/test/test_hs_descriptor.c @@ -207,6 +207,7 @@ test_link_specifier(void *arg) tt_int_op(link_specifier_get_un_ipv4_port(ls), ==, spec.u.ap.port); link_specifier_free(ls); + ls = NULL; tor_free(b64); } @@ -236,6 +237,7 @@ test_link_specifier(void *arg) tt_int_op(link_specifier_get_un_ipv6_port(ls), ==, spec.u.ap.port); link_specifier_free(ls); + ls = NULL; tor_free(b64); } @@ -263,6 +265,7 @@ test_link_specifier(void *arg) tt_mem_op(spec.u.legacy_id, OP_EQ, id, DIGEST_LEN); link_specifier_free(ls); + ls = NULL; tor_free(b64); } From 3c0a63c40f8f41742bf6a4ab58165e8f25aab34a Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 29 Jun 2018 13:49:02 -0400 Subject: [PATCH 2/2] Fix a memory error in test_shared_random Bug not in any released Tor. --- src/test/test_shared_random.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c index 5f86d783af..6a8c1abaff 100644 --- a/src/test/test_shared_random.c +++ b/src/test/test_shared_random.c @@ -780,6 +780,7 @@ test_sr_setup_commits(void) /* Now during REVEAL phase save commit D by restoring its reveal. */ set_sr_phase(SR_PHASE_REVEAL); save_commit_to_state(place_holder); + place_holder = NULL; tt_str_op(commit_d->encoded_reveal, OP_EQ, "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"); /* Go back to an empty encoded reveal value. */