[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] clang scan-build: Fix "dereference of null pointer" warnings
commit 0f58e173134698a813d23288dabc22f2591e9dc2
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Tue Sep 12 17:15:52 2017 -0400
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.
---
src/test/test_hs_client.c | 8 +++++---
src/test/test_hs_service.c | 9 +++++++--
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
index af5f5cb57..6714dacea 100644
--- a/src/test/test_hs_client.c
+++ b/src/test/test_hs_client.c
@@ -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));
}
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index 05ced17ff..8a6a6c328 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -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_);
}
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits