mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
Merge branch 'tor-github/pr/1059'
This commit is contained in:
commit
dd62cb788e
4
changes/ticket30150
Normal file
4
changes/ticket30150
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
o Minor bugfixes (static analysis):
|
||||||
|
- Fix several spurious Coverity warnings about the unit tests, to lower our
|
||||||
|
chances of missing any real warnings in the future. Fixes bug 30150;
|
||||||
|
bugfix on 0.3.5.1-alpha and various other Tor versions.
|
@ -198,6 +198,7 @@ void
|
|||||||
testing_enable_prefilled_rng(const void *buffer, size_t buflen)
|
testing_enable_prefilled_rng(const void *buffer, size_t buflen)
|
||||||
{
|
{
|
||||||
tor_assert(buflen > 0);
|
tor_assert(buflen > 0);
|
||||||
|
tor_assert(!rng_mutex);
|
||||||
rng_mutex = tor_mutex_new();
|
rng_mutex = tor_mutex_new();
|
||||||
|
|
||||||
tor_mutex_acquire(rng_mutex);
|
tor_mutex_acquire(rng_mutex);
|
||||||
|
@ -1540,6 +1540,10 @@ test_channel_listener(void *arg)
|
|||||||
channel_listener_dump_statistics(chan, LOG_INFO);
|
channel_listener_dump_statistics(chan, LOG_INFO);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
if (chan) {
|
||||||
|
channel_listener_unregister(chan);
|
||||||
|
tor_free(chan);
|
||||||
|
}
|
||||||
channel_free_all();
|
channel_free_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1566,4 +1570,3 @@ struct testcase_t channel_tests[] = {
|
|||||||
NULL, NULL },
|
NULL, NULL },
|
||||||
END_OF_TESTCASES
|
END_OF_TESTCASES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -603,6 +603,10 @@ test_desc_reupload_logic(void *arg)
|
|||||||
SMARTLIST_FOREACH(ns->routerstatus_list,
|
SMARTLIST_FOREACH(ns->routerstatus_list,
|
||||||
routerstatus_t *, rs, routerstatus_free(rs));
|
routerstatus_t *, rs, routerstatus_free(rs));
|
||||||
smartlist_clear(ns->routerstatus_list);
|
smartlist_clear(ns->routerstatus_list);
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
networkstatus_vote_free(ns);
|
networkstatus_vote_free(ns);
|
||||||
cleanup_nodelist();
|
cleanup_nodelist();
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
|
@ -878,6 +878,10 @@ test_helper_functions(void *arg)
|
|||||||
|
|
||||||
done:
|
done:
|
||||||
/* This will free the service and all objects associated to it. */
|
/* This will free the service and all objects associated to it. */
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_service_free_all();
|
hs_service_free_all();
|
||||||
UNMOCK(node_get_by_id);
|
UNMOCK(node_get_by_id);
|
||||||
}
|
}
|
||||||
@ -887,7 +891,7 @@ static void
|
|||||||
test_intro_circuit_opened(void *arg)
|
test_intro_circuit_opened(void *arg)
|
||||||
{
|
{
|
||||||
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
origin_circuit_t *circ = NULL;
|
origin_circuit_t *circ = NULL;
|
||||||
|
|
||||||
(void) arg;
|
(void) arg;
|
||||||
@ -935,6 +939,10 @@ test_intro_circuit_opened(void *arg)
|
|||||||
|
|
||||||
done:
|
done:
|
||||||
circuit_free_(TO_CIRCUIT(circ));
|
circuit_free_(TO_CIRCUIT(circ));
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
UNMOCK(relay_send_command_from_edge_);
|
UNMOCK(relay_send_command_from_edge_);
|
||||||
@ -949,7 +957,7 @@ test_intro_established(void *arg)
|
|||||||
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
||||||
uint8_t payload[RELAY_PAYLOAD_SIZE] = {0};
|
uint8_t payload[RELAY_PAYLOAD_SIZE] = {0};
|
||||||
origin_circuit_t *circ = NULL;
|
origin_circuit_t *circ = NULL;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
hs_service_intro_point_t *ip = NULL;
|
hs_service_intro_point_t *ip = NULL;
|
||||||
|
|
||||||
(void) arg;
|
(void) arg;
|
||||||
@ -1010,6 +1018,10 @@ test_intro_established(void *arg)
|
|||||||
done:
|
done:
|
||||||
if (circ)
|
if (circ)
|
||||||
circuit_free_(TO_CIRCUIT(circ));
|
circuit_free_(TO_CIRCUIT(circ));
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
}
|
}
|
||||||
@ -1021,7 +1033,7 @@ test_rdv_circuit_opened(void *arg)
|
|||||||
{
|
{
|
||||||
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
||||||
origin_circuit_t *circ = NULL;
|
origin_circuit_t *circ = NULL;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
|
|
||||||
(void) arg;
|
(void) arg;
|
||||||
|
|
||||||
@ -1052,6 +1064,10 @@ test_rdv_circuit_opened(void *arg)
|
|||||||
|
|
||||||
done:
|
done:
|
||||||
circuit_free_(TO_CIRCUIT(circ));
|
circuit_free_(TO_CIRCUIT(circ));
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
UNMOCK(relay_send_command_from_edge_);
|
UNMOCK(relay_send_command_from_edge_);
|
||||||
@ -1139,6 +1155,10 @@ test_closing_intro_circs(void *arg)
|
|||||||
circuit_free_(TO_CIRCUIT(intro_circ));
|
circuit_free_(TO_CIRCUIT(intro_circ));
|
||||||
}
|
}
|
||||||
/* Frees the service object. */
|
/* Frees the service object. */
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(assert_circuit_ok);
|
UNMOCK(assert_circuit_ok);
|
||||||
}
|
}
|
||||||
@ -1151,7 +1171,7 @@ test_introduce2(void *arg)
|
|||||||
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
int flags = CIRCLAUNCH_NEED_UPTIME | CIRCLAUNCH_IS_INTERNAL;
|
||||||
uint8_t payload[RELAY_PAYLOAD_SIZE] = {0};
|
uint8_t payload[RELAY_PAYLOAD_SIZE] = {0};
|
||||||
origin_circuit_t *circ = NULL;
|
origin_circuit_t *circ = NULL;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
hs_service_intro_point_t *ip = NULL;
|
hs_service_intro_point_t *ip = NULL;
|
||||||
|
|
||||||
(void) arg;
|
(void) arg;
|
||||||
@ -1218,6 +1238,10 @@ test_introduce2(void *arg)
|
|||||||
dummy_state = NULL;
|
dummy_state = NULL;
|
||||||
if (circ)
|
if (circ)
|
||||||
circuit_free_(TO_CIRCUIT(circ));
|
circuit_free_(TO_CIRCUIT(circ));
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
}
|
}
|
||||||
@ -1302,6 +1326,10 @@ test_service_event(void *arg)
|
|||||||
done:
|
done:
|
||||||
hs_circuitmap_remove_circuit(TO_CIRCUIT(circ));
|
hs_circuitmap_remove_circuit(TO_CIRCUIT(circ));
|
||||||
circuit_free_(TO_CIRCUIT(circ));
|
circuit_free_(TO_CIRCUIT(circ));
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
}
|
}
|
||||||
@ -1312,7 +1340,7 @@ test_rotate_descriptors(void *arg)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
time_t next_rotation_time, now;
|
time_t next_rotation_time, now;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
hs_service_descriptor_t *desc_next;
|
hs_service_descriptor_t *desc_next;
|
||||||
|
|
||||||
(void) arg;
|
(void) arg;
|
||||||
@ -1404,6 +1432,10 @@ test_rotate_descriptors(void *arg)
|
|||||||
tt_assert(service->desc_next);
|
tt_assert(service->desc_next);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
UNMOCK(get_or_state);
|
UNMOCK(get_or_state);
|
||||||
UNMOCK(circuit_mark_for_close_);
|
UNMOCK(circuit_mark_for_close_);
|
||||||
@ -1417,7 +1449,7 @@ test_build_update_descriptors(void *arg)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
node_t *node;
|
node_t *node;
|
||||||
hs_service_t *service;
|
hs_service_t *service = NULL;
|
||||||
hs_service_intro_point_t *ip_cur, *ip_next;
|
hs_service_intro_point_t *ip_cur, *ip_next;
|
||||||
routerinfo_t ri;
|
routerinfo_t ri;
|
||||||
|
|
||||||
@ -1634,6 +1666,10 @@ test_build_update_descriptors(void *arg)
|
|||||||
tt_u64_op(service->desc_next->next_upload_time, OP_EQ, 0);
|
tt_u64_op(service->desc_next->next_upload_time, OP_EQ, 0);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
if (service) {
|
||||||
|
remove_service(get_hs_service_map(), service);
|
||||||
|
hs_service_free(service);
|
||||||
|
}
|
||||||
hs_free_all();
|
hs_free_all();
|
||||||
nodelist_free_all();
|
nodelist_free_all();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user