clang scan-build: Fix "dereference of null pointer" warnings

These warnings are all in the tests, and happen because something
that one part of the code checks for null-ness is later
dereferenced.
This commit is contained in:
Nick Mathewson 2017-09-12 17:15:52 -04:00
parent 4097d646d8
commit 0f58e17313
2 changed files with 12 additions and 5 deletions

View File

@ -203,7 +203,8 @@ test_e2e_rend_circuit_setup_legacy(void *arg)
done:
connection_free_(conn);
tor_free(TO_CIRCUIT(or_circ)->n_chan);
if (or_circ)
tor_free(TO_CIRCUIT(or_circ)->n_chan);
circuit_free(TO_CIRCUIT(or_circ));
}
@ -212,7 +213,7 @@ static void
test_e2e_rend_circuit_setup(void *arg)
{
uint8_t ntor_key_seed[DIGEST256_LEN] = {0};
origin_circuit_t *or_circ;
origin_circuit_t *or_circ = NULL;
int retval;
connection_t *conn = NULL;
@ -272,7 +273,8 @@ test_e2e_rend_circuit_setup(void *arg)
done:
connection_free_(conn);
tor_free(TO_CIRCUIT(or_circ)->n_chan);
if (or_circ)
tor_free(TO_CIRCUIT(or_circ)->n_chan);
circuit_free(TO_CIRCUIT(or_circ));
}

View File

@ -677,6 +677,8 @@ test_intro_established(void *arg)
circ = helper_create_origin_circuit(CIRCUIT_PURPOSE_S_ESTABLISH_INTRO,
flags);
tt_assert(circ);
/* Test a wrong purpose. */
TO_CIRCUIT(circ)->purpose = CIRCUIT_PURPOSE_S_INTRO;
setup_full_capture_of_logs(LOG_WARN);
@ -724,7 +726,8 @@ test_intro_established(void *arg)
tt_int_op(TO_CIRCUIT(circ)->purpose, OP_EQ, CIRCUIT_PURPOSE_S_INTRO);
done:
circuit_free(TO_CIRCUIT(circ));
if (circ)
circuit_free(TO_CIRCUIT(circ));
hs_free_all();
UNMOCK(circuit_mark_for_close_);
}
@ -793,6 +796,7 @@ test_introduce2(void *arg)
dummy_state = tor_malloc_zero(sizeof(or_state_t));
circ = helper_create_origin_circuit(CIRCUIT_PURPOSE_S_INTRO, flags);
tt_assert(circ);
/* Test a wrong purpose. */
TO_CIRCUIT(circ)->purpose = CIRCUIT_PURPOSE_S_ESTABLISH_INTRO;
@ -844,7 +848,8 @@ test_introduce2(void *arg)
done:
or_state_free(dummy_state);
dummy_state = NULL;
circuit_free(TO_CIRCUIT(circ));
if (circ)
circuit_free(TO_CIRCUIT(circ));
hs_free_all();
UNMOCK(circuit_mark_for_close_);
}