From 1135405c8c6ea315cd035171770a6701edae57f0 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 5 Jul 2016 13:43:58 -0400 Subject: [PATCH 1/2] Fix a variable-shadowing bug in check_private_dir We introduded a shadowed variable, thereby causing a log message to be wrong. Fixes 19578. I believe the bug was introduced by 54d7d31cba84232 in 0.2.2.29-beta. --- changes/bug19578 | 3 +++ src/common/util.c | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 changes/bug19578 diff --git a/changes/bug19578 b/changes/bug19578 new file mode 100644 index 0000000000..8b3355b191 --- /dev/null +++ b/changes/bug19578 @@ -0,0 +1,3 @@ + o Minor bugfixes (logging): + - When logging a directory ownership mismatch, log the owning username + correctly. Fixes bug 19578; bugfix on 0.2.2.29-beta. diff --git a/src/common/util.c b/src/common/util.c index 538aeb108d..d61985e036 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -2291,13 +2291,14 @@ check_private_dir,(const char *dirname, cpd_check_t check, running_gid = getgid(); } if (st.st_uid != running_uid) { - const struct passwd *pw = NULL; + const struct passwd *pw_uid = NULL; char *process_ownername = NULL; - pw = tor_getpwuid(running_uid); - process_ownername = pw ? tor_strdup(pw->pw_name) : tor_strdup(""); + pw_uid = tor_getpwuid(running_uid); + process_ownername = pw_uid ? tor_strdup(pw_uid->pw_name) : + tor_strdup(""); - pw = tor_getpwuid(st.st_uid); + pw_uid = tor_getpwuid(st.st_uid); log_warn(LD_FS, "%s is not owned by this user (%s, %d) but by " "%s (%d). Perhaps you are running Tor as the wrong user?", From 47573038736b96e2a353a25ed3c788dcb77d8fcb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 5 Jul 2016 14:19:31 -0400 Subject: [PATCH 2/2] Fix all -Wshadow warnings on Linux This is a partial fix for 18902. --- configure.ac | 1 + src/common/util.c | 4 ++-- src/or/channeltls.c | 4 ++-- src/or/circuitbuild.c | 14 ++++++------- src/or/config.c | 30 +++++++++++++-------------- src/or/connection.h | 14 ++++++------- src/or/connection_edge.c | 8 ++++---- src/or/connection_or.c | 7 +++---- src/or/control.c | 30 ++++++++++++++------------- src/or/dirvote.c | 12 +++++------ src/or/entrynodes.c | 1 - src/or/geoip.c | 17 ++++++++------- src/or/nodelist.c | 6 ++++-- src/or/rendservice.c | 3 +-- src/or/rephist.c | 14 ++++++------- src/or/router.c | 12 +++++------ src/or/routerkeys.c | 10 ++++----- src/or/routerlist.c | 6 +++--- src/or/routerparse.c | 40 ++++++++++++++++++++---------------- src/or/scheduler.c | 8 ++++---- src/or/transports.c | 12 +++++------ src/test/bench.c | 9 ++++---- src/test/test_addr.c | 6 +++--- src/test/test_buffers.c | 6 +++--- src/test/test_cell_formats.c | 4 ++-- src/test/test_containers.c | 24 +++++++++++----------- src/test/test_dir.c | 10 ++++----- src/test/test_dns.c | 8 ++++---- src/test/test_microdesc.c | 2 +- src/test/test_policy.c | 9 ++++---- src/test/test_pt.c | 12 +++++------ src/test/test_scheduler.c | 6 ++++-- src/test/test_util.c | 6 +++--- 33 files changed, 179 insertions(+), 176 deletions(-) diff --git a/configure.ac b/configure.ac index 81438fcd09..c8c82aa6ce 100644 --- a/configure.ac +++ b/configure.ac @@ -1821,6 +1821,7 @@ if test "x$enable_gcc_warnings_advisory" != "xno"; then -Wselector-type-mismatch -Wsentinel -Wserialized-diagnostics + -Wshadow -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value diff --git a/src/common/util.c b/src/common/util.c index d61985e036..3eb4005ab4 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -3812,9 +3812,9 @@ format_win_cmdline_argument(const char *arg) formatted_arg[i++] = '"'; /* Add characters */ - SMARTLIST_FOREACH(arg_chars, char*, c, + SMARTLIST_FOREACH(arg_chars, char*, ch, { - formatted_arg[i++] = *c; + formatted_arg[i++] = *ch; }); /* Add trailing quote */ diff --git a/src/or/channeltls.c b/src/or/channeltls.c index 2bb88dd505..fb0e7c566b 100644 --- a/src/or/channeltls.c +++ b/src/or/channeltls.c @@ -1901,8 +1901,8 @@ channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan) } err: - for (unsigned i = 0; i < ARRAY_LENGTH(certs); ++i) { - tor_x509_cert_free(certs[i]); + for (unsigned u = 0; u < ARRAY_LENGTH(certs); ++u) { + tor_x509_cert_free(certs[u]); } certs_cell_free(cc); #undef ERR diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 13cc16670c..dab378f0e8 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1565,7 +1565,7 @@ choose_good_exit_server_general(int need_uptime, int need_capacity) int n_best_support=0; const or_options_t *options = get_options(); const smartlist_t *the_nodes; - const node_t *node=NULL; + const node_t *selected_node=NULL; connections = get_connection_array(); @@ -1692,7 +1692,7 @@ choose_good_exit_server_general(int need_uptime, int need_capacity) smartlist_add(supporting, (void*)node); }); - node = node_sl_choose_by_bandwidth(supporting, WEIGHT_FOR_EXIT); + selected_node = node_sl_choose_by_bandwidth(supporting, WEIGHT_FOR_EXIT); smartlist_free(supporting); } else { /* Either there are no pending connections, or no routers even seem to @@ -1730,8 +1730,8 @@ choose_good_exit_server_general(int need_uptime, int need_capacity) } } SMARTLIST_FOREACH_END(node); - node = node_sl_choose_by_bandwidth(supporting, WEIGHT_FOR_EXIT); - if (node) + selected_node = node_sl_choose_by_bandwidth(supporting, WEIGHT_FOR_EXIT); + if (selected_node) break; smartlist_clear(supporting); /* If we reach this point, we can't actually support any unhandled @@ -1745,9 +1745,9 @@ choose_good_exit_server_general(int need_uptime, int need_capacity) } tor_free(n_supported); - if (node) { - log_info(LD_CIRC, "Chose exit server '%s'", node_describe(node)); - return node; + if (selected_node) { + log_info(LD_CIRC, "Chose exit server '%s'", node_describe(selected_node)); + return selected_node; } if (options->ExitNodes) { log_warn(LD_CIRC, diff --git a/src/or/config.c b/src/or/config.c index a677f21955..8b471f6800 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -3488,10 +3488,10 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (server_mode(options)) { - char *msg = NULL; - if (have_enough_mem_for_dircache(options, 0, &msg)) { - log_warn(LD_CONFIG, "%s", msg); - tor_free(msg); + char *dircache_msg = NULL; + if (have_enough_mem_for_dircache(options, 0, &dircache_msg)) { + log_warn(LD_CONFIG, "%s", dircache_msg); + tor_free(dircache_msg); } } @@ -4820,7 +4820,7 @@ options_init_from_string(const char *cf_defaults, const char *cf, { or_options_t *oldoptions, *newoptions, *newdefaultoptions=NULL; config_line_t *cl; - int retval, i; + int retval; setopt_err_t err = SETOPT_ERR_MISC; tor_assert(msg); @@ -4833,7 +4833,7 @@ options_init_from_string(const char *cf_defaults, const char *cf, newoptions->command = command; newoptions->command_arg = command_arg ? tor_strdup(command_arg) : NULL; - for (i = 0; i < 2; ++i) { + for (int i = 0; i < 2; ++i) { const char *body = i==0 ? cf_defaults : cf; if (!body) continue; @@ -4877,8 +4877,7 @@ options_init_from_string(const char *cf_defaults, const char *cf, * let's clean it up. -NM */ /* Change defaults. */ - int i; - for (i = 0; testing_tor_network_defaults[i].name; ++i) { + for (int i = 0; testing_tor_network_defaults[i].name; ++i) { const config_var_t *new_var = &testing_tor_network_defaults[i]; config_var_t *old_var = config_find_option_mutable(&options_format, new_var->name); @@ -4898,7 +4897,7 @@ options_init_from_string(const char *cf_defaults, const char *cf, newoptions->command_arg = command_arg ? tor_strdup(command_arg) : NULL; /* Assign all options a second time. */ - for (i = 0; i < 2; ++i) { + for (int i = 0; i < 2; ++i) { const char *body = i==0 ? cf_defaults : cf; if (!body) continue; @@ -5914,10 +5913,10 @@ parse_dir_fallback_line(const char *line, ipv6_addrport_ptr = &ipv6_addrport; } } else if (!strcmpstart(cp, "weight=")) { - int ok; + int num_ok; const char *wstring = cp + strlen("weight="); - weight = tor_parse_double(wstring, 0, (double)UINT64_MAX, &ok, NULL); - if (!ok) { + weight = tor_parse_double(wstring, 0, (double)UINT64_MAX, &num_ok, NULL); + if (!num_ok) { log_warn(LD_CONFIG, "Invalid weight '%s' on FallbackDir line.", cp); weight=1.0; } @@ -7409,8 +7408,8 @@ getinfo_helper_config(control_connection_t *conn, smartlist_free(sl); } else if (!strcmp(question, "config/defaults")) { smartlist_t *sl = smartlist_new(); - int i, dirauth_lines_seen = 0, fallback_lines_seen = 0; - for (i = 0; option_vars_[i].name; ++i) { + int dirauth_lines_seen = 0, fallback_lines_seen = 0; + for (int i = 0; option_vars_[i].name; ++i) { const config_var_t *var = &option_vars_[i]; if (var->initvalue != NULL) { if (strcmp(option_vars_[i].name, "DirAuthority") == 0) { @@ -7438,14 +7437,13 @@ getinfo_helper_config(control_connection_t *conn, * We didn't see any directory authorities with default values, * so add the list of default authorities manually. */ - const char **i; /* * default_authorities is defined earlier in this file and * is a const char ** NULL-terminated array of dirauth config * lines. */ - for (i = default_authorities; *i != NULL; ++i) { + for (const char **i = default_authorities; *i != NULL; ++i) { char *val = esc_for_log(*i); smartlist_add_asprintf(sl, "DirAuthority %s\n", val); tor_free(val); diff --git a/src/or/connection.h b/src/or/connection.h index 4835235fba..4417b899f7 100644 --- a/src/or/connection.h +++ b/src/or/connection.h @@ -52,13 +52,13 @@ void connection_mark_for_close_internal_(connection_t *conn, * For all other cases, use connection_mark_and_flush() instead, which * checks for or_connection_t properly, instead. See below. */ -#define connection_mark_and_flush_internal_(c,line,file) \ - do { \ - connection_t *tmp_conn_ = (c); \ - connection_mark_for_close_internal_(tmp_conn_, (line), (file)); \ - tmp_conn_->hold_open_until_flushed = 1; \ - IF_HAS_BUFFEREVENT(tmp_conn_, \ - connection_start_writing(tmp_conn_)); \ +#define connection_mark_and_flush_internal_(c,line,file) \ + do { \ + connection_t *tmp_conn__ = (c); \ + connection_mark_for_close_internal_(tmp_conn__, (line), (file)); \ + tmp_conn__->hold_open_until_flushed = 1; \ + IF_HAS_BUFFEREVENT(tmp_conn__, \ + connection_start_writing(tmp_conn__)); \ } while (0) #define connection_mark_and_flush_internal(c) \ diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 799baa2acc..cb79de65d9 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -2881,7 +2881,7 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ) or_circuit_t *or_circ = NULL; const or_options_t *options = get_options(); begin_cell_t bcell; - int r; + int rv; uint8_t end_reason=0; assert_circuit_ok(circ); @@ -2906,10 +2906,10 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ) return 0; } - r = begin_cell_parse(cell, &bcell, &end_reason); - if (r < -1) { + rv = begin_cell_parse(cell, &bcell, &end_reason); + if (rv < -1) { return -END_CIRC_REASON_TORPROTOCOL; - } else if (r == -1) { + } else if (rv == -1) { tor_free(bcell.address); relay_send_end_cell_from_edge(rh.stream_id, circ, end_reason, NULL); return 0; diff --git a/src/or/connection_or.c b/src/or/connection_or.c index c69a2ad377..4f71a296cc 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -2275,14 +2275,13 @@ connection_or_send_certs_cell(or_connection_t *conn) var_cell_t *cell; size_t cell_len; ssize_t pos; - int server_mode; tor_assert(conn->base_.state == OR_CONN_STATE_OR_HANDSHAKING_V3); if (! conn->handshake_state) return -1; - server_mode = ! conn->handshake_state->started_here; - if (tor_tls_get_my_certs(server_mode, &link_cert, &id_cert) < 0) + const int conn_in_server_mode = ! conn->handshake_state->started_here; + if (tor_tls_get_my_certs(conn_in_server_mode, &link_cert, &id_cert) < 0) return -1; tor_x509_cert_get_der(link_cert, &link_encoded, &link_len); tor_x509_cert_get_der(id_cert, &id_encoded, &id_len); @@ -2295,7 +2294,7 @@ connection_or_send_certs_cell(or_connection_t *conn) cell->payload[0] = 2; pos = 1; - if (server_mode) + if (conn_in_server_mode) cell->payload[pos] = OR_CERT_TYPE_TLS_LINK; /* Link cert */ else cell->payload[pos] = OR_CERT_TYPE_AUTH_1024; /* client authentication */ diff --git a/src/or/control.c b/src/or/control.c index d3613d8d4f..82adc957c3 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -598,7 +598,7 @@ typedef struct queued_event_s { /** Pointer to int. If this is greater than 0, we don't allow new events to be * queued. */ -static tor_threadlocal_t block_event_queue; +static tor_threadlocal_t block_event_queue_flag; /** Holds a smartlist of queued_event_t objects that may need to be sent * to one or more controllers */ @@ -633,17 +633,17 @@ control_initialize_event_queue(void) if (queued_control_events_lock == NULL) { queued_control_events_lock = tor_mutex_new(); - tor_threadlocal_init(&block_event_queue); + tor_threadlocal_init(&block_event_queue_flag); } } static int * get_block_event_queue(void) { - int *val = tor_threadlocal_get(&block_event_queue); + int *val = tor_threadlocal_get(&block_event_queue_flag); if (PREDICT_UNLIKELY(val == NULL)) { val = tor_malloc_zero(sizeof(int)); - tor_threadlocal_set(&block_event_queue, val); + tor_threadlocal_set(&block_event_queue_flag, val); } return val; } @@ -1374,7 +1374,7 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len, goto err; } bad_password = 1; - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); sl = NULL; } else { @@ -1386,7 +1386,7 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len, received, DIGEST_LEN)) goto ok; }); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); sl = NULL; @@ -1414,7 +1414,7 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len, connection_printf_to_buf(conn, "515 Authentication failed: %s\r\n", errstr); connection_mark_for_close(TO_CONN(conn)); if (sl) { /* clean up */ - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); } return 0; @@ -1425,7 +1425,7 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len, conn->base_.state = CONTROL_CONN_STATE_OPEN; tor_free(password); if (sl) { /* clean up */ - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); } return 0; @@ -1854,11 +1854,10 @@ getinfo_helper_dir(control_connection_t *control_conn, const char *question, char **answer, const char **errmsg) { - const node_t *node; - const routerinfo_t *ri = NULL; (void) control_conn; if (!strcmpstart(question, "desc/id/")) { - node = node_get_by_hex_id(question+strlen("desc/id/")); + const routerinfo_t *ri = NULL; + const node_t *node = node_get_by_hex_id(question+strlen("desc/id/")); if (node) ri = node->ri; if (ri) { @@ -1867,9 +1866,10 @@ getinfo_helper_dir(control_connection_t *control_conn, *answer = tor_strndup(body, ri->cache_info.signed_descriptor_len); } } else if (!strcmpstart(question, "desc/name/")) { + const routerinfo_t *ri = NULL; /* XXX Setting 'warn_if_unnamed' here is a bit silly -- the * warning goes to the user, not to the controller. */ - node = node_get_by_nickname(question+strlen("desc/name/"), 1); + const node_t *node = node_get_by_nickname(question+strlen("desc/name/"), 1); if (node) ri = node->ri; if (ri) { @@ -1963,7 +1963,9 @@ getinfo_helper_dir(control_connection_t *control_conn, *answer = tor_strndup(md->body, md->bodylen); } } else if (!strcmpstart(question, "desc-annotations/id/")) { - node = node_get_by_hex_id(question+strlen("desc-annotations/id/")); + const routerinfo_t *ri = NULL; + const node_t *node = + node_get_by_hex_id(question+strlen("desc-annotations/id/")); if (node) ri = node->ri; if (ri) { @@ -4641,7 +4643,7 @@ add_onion_helper_clientauth(const char *arg, int *created, char **err_msg) ok = 1; err: - SMARTLIST_FOREACH(auth_args, char *, arg, tor_free(arg)); + SMARTLIST_FOREACH(auth_args, char *, item, tor_free(item)); smartlist_free(auth_args); if (!ok) { rend_authorized_client_free(client); diff --git a/src/or/dirvote.c b/src/or/dirvote.c index c31894a3b5..2db8731f48 100644 --- a/src/or/dirvote.c +++ b/src/or/dirvote.c @@ -2422,15 +2422,15 @@ networkstatus_get_detached_signatures(smartlist_t *consensuses) /* Now get all the sigs for non-FLAV_NS consensuses */ SMARTLIST_FOREACH_BEGIN(consensuses, networkstatus_t *, ns) { - char *sigs; + char *sigs_on_this_consensus; if (ns->flavor == FLAV_NS) continue; - sigs = networkstatus_format_signatures(ns, 1); - if (!sigs) { + sigs_on_this_consensus = networkstatus_format_signatures(ns, 1); + if (!sigs_on_this_consensus) { log_warn(LD_DIR, "Couldn't format signatures"); goto err; } - smartlist_add(elements, sigs); + smartlist_add(elements, sigs_on_this_consensus); } SMARTLIST_FOREACH_END(ns); /* Now add the FLAV_NS consensus signatrures. */ @@ -3101,12 +3101,12 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out) /* Write the votes in pending_vote_list to disk. */ static void -write_v3_votes_to_disk(const smartlist_t *pending_vote_list) +write_v3_votes_to_disk(const smartlist_t *pending_votes) { smartlist_t *votestrings = smartlist_new(); char *votefile = NULL; - SMARTLIST_FOREACH(pending_vote_list, pending_vote_t *, v, + SMARTLIST_FOREACH(pending_votes, pending_vote_t *, v, { sized_chunk_t *c = tor_malloc(sizeof(sized_chunk_t)); c->bytes = v->vote_body->dir; diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 6990bcd758..265b6dcda1 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -1455,7 +1455,6 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg) } } else { if (state_version) { - time_t now = time(NULL); e->chosen_on_date = crypto_rand_time_range(now - 3600*24*30, now); e->chosen_by_version = tor_strdup(state_version); } diff --git a/src/or/geoip.c b/src/or/geoip.c index 874052495e..6eb0ce7669 100644 --- a/src/or/geoip.c +++ b/src/or/geoip.c @@ -824,7 +824,6 @@ geoip_get_transport_history(void) static const char* no_transport_str = ""; clientmap_entry_t **ent; - const char *transport_name = NULL; smartlist_t *string_chunks = smartlist_new(); char *the_string = NULL; @@ -850,7 +849,7 @@ geoip_get_transport_history(void) HT_FOREACH(ent, clientmap, &client_history) { uintptr_t val; void *ptr; - transport_name = (*ent)->transport_name; + const char *transport_name = (*ent)->transport_name; if (!transport_name) transport_name = no_transport_str; @@ -916,13 +915,13 @@ geoip_get_dirreq_history(dirreq_type_t type) smartlist_t *dirreq_completed = NULL; uint32_t complete = 0, timeouts = 0, running = 0; int bufsize = 1024, written; - dirreq_map_entry_t **ptr, **next, *ent; + dirreq_map_entry_t **ptr, **next; struct timeval now; tor_gettimeofday(&now); dirreq_completed = smartlist_new(); for (ptr = HT_START(dirreqmap, &dirreq_map); ptr; ptr = next) { - ent = *ptr; + dirreq_map_entry_t *ent = *ptr; if (ent->type != type) { next = HT_NEXT(dirreqmap, &dirreq_map, ptr); continue; @@ -1024,7 +1023,7 @@ geoip_get_client_history(geoip_client_action_t action, smartlist_t *entries = NULL; int n_countries = geoip_get_n_countries(); int i; - clientmap_entry_t **ent; + clientmap_entry_t **cm_ent; unsigned *counts = NULL; unsigned total = 0; unsigned ipv4_count = 0, ipv6_count = 0; @@ -1033,17 +1032,17 @@ geoip_get_client_history(geoip_client_action_t action, return -1; counts = tor_calloc(n_countries, sizeof(unsigned)); - HT_FOREACH(ent, clientmap, &client_history) { + HT_FOREACH(cm_ent, clientmap, &client_history) { int country; - if ((*ent)->action != (int)action) + if ((*cm_ent)->action != (int)action) continue; - country = geoip_get_country_by_addr(&(*ent)->addr); + country = geoip_get_country_by_addr(&(*cm_ent)->addr); if (country < 0) country = 0; /** unresolved requests are stored at index 0. */ tor_assert(0 <= country && country < n_countries); ++counts[country]; ++total; - switch (tor_addr_family(&(*ent)->addr)) { + switch (tor_addr_family(&(*cm_ent)->addr)) { case AF_INET: ipv4_count++; break; diff --git a/src/or/nodelist.c b/src/or/nodelist.c index a49bf03f61..7b64cafd79 100644 --- a/src/or/nodelist.c +++ b/src/or/nodelist.c @@ -542,13 +542,15 @@ node_get_by_hex_id(const char *hex_id) MOCK_IMPL(const node_t *, node_get_by_nickname,(const char *nickname, int warn_if_unnamed)) { - const node_t *node; if (!the_nodelist) return NULL; /* Handle these cases: DIGEST, $DIGEST, $DIGEST=name, $DIGEST~name. */ - if ((node = node_get_by_hex_id(nickname)) != NULL) + { + const node_t *node; + if ((node = node_get_by_hex_id(nickname)) != NULL) return node; + } if (!strcasecmp(nickname, UNNAMED_ROUTER_NICKNAME)) return NULL; diff --git a/src/or/rendservice.c b/src/or/rendservice.c index c50de83f7e..4c88f1fa5f 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -2701,7 +2701,6 @@ rend_service_intro_has_opened(origin_circuit_t *circuit) char auth[DIGEST_LEN + 9]; char serviceid[REND_SERVICE_ID_LEN_BASE32+1]; int reason = END_CIRC_REASON_TORPROTOCOL; - crypto_pk_t *intro_key; tor_assert(circuit->base_.purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO); #ifndef NON_ANONYMOUS_MODE_ENABLED @@ -2775,7 +2774,7 @@ rend_service_intro_has_opened(origin_circuit_t *circuit) (unsigned)circuit->base_.n_circ_id, serviceid); /* Use the intro key instead of the service key in ESTABLISH_INTRO. */ - intro_key = circuit->intro_key; + crypto_pk_t *intro_key = circuit->intro_key; /* Build the payload for a RELAY_ESTABLISH_INTRO cell. */ r = crypto_pk_asn1_encode(intro_key, buf+2, RELAY_PAYLOAD_SIZE-2); diff --git a/src/or/rephist.c b/src/or/rephist.c index 8992571c52..929e95d86c 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -2948,22 +2948,22 @@ static hs_stats_t *hs_stats = NULL; static hs_stats_t * hs_stats_new(void) { - hs_stats_t * hs_stats = tor_malloc_zero(sizeof(hs_stats_t)); - hs_stats->onions_seen_this_period = digestmap_new(); + hs_stats_t *new_hs_stats = tor_malloc_zero(sizeof(hs_stats_t)); + new_hs_stats->onions_seen_this_period = digestmap_new(); - return hs_stats; + return new_hs_stats; } /** Free an hs_stats_t structure. */ static void -hs_stats_free(hs_stats_t *hs_stats) +hs_stats_free(hs_stats_t *victim_hs_stats) { - if (!hs_stats) { + if (!victim_hs_stats) { return; } - digestmap_free(hs_stats->onions_seen_this_period, NULL); - tor_free(hs_stats); + digestmap_free(victim_hs_stats->onions_seen_this_period, NULL); + tor_free(victim_hs_stats); } /** Initialize hidden service statistics. */ diff --git a/src/or/router.c b/src/or/router.c index a671591ad7..cc96513710 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -3077,17 +3077,17 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo, } if (emit_ed_sigs) { - char digest[DIGEST256_LEN]; + char sha256_digest[DIGEST256_LEN]; smartlist_add(chunks, tor_strdup("router-sig-ed25519 ")); - crypto_digest_smartlist_prefix(digest, DIGEST256_LEN, + crypto_digest_smartlist_prefix(sha256_digest, DIGEST256_LEN, ED_DESC_SIGNATURE_PREFIX, chunks, "", DIGEST_SHA256); - ed25519_signature_t sig; + ed25519_signature_t ed_sig; char buf[ED25519_SIG_BASE64_LEN+1]; - if (ed25519_sign(&sig, (const uint8_t*)digest, DIGEST256_LEN, + if (ed25519_sign(&ed_sig, (const uint8_t*)sha256_digest, DIGEST256_LEN, signing_keypair) < 0) goto err; - if (ed25519_signature_to_base64(buf, &sig) < 0) + if (ed25519_signature_to_base64(buf, &ed_sig) < 0) goto err; smartlist_add_asprintf(chunks, "%s\n", buf); @@ -3161,7 +3161,7 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo, done: tor_free(s); - SMARTLIST_FOREACH(chunks, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(chunks, char *, chunk, tor_free(chunk)); smartlist_free(chunks); tor_free(s_dup); tor_free(ed_cert_line); diff --git a/src/or/routerkeys.c b/src/or/routerkeys.c index 12de8c5e7a..27a19f5113 100644 --- a/src/or/routerkeys.c +++ b/src/or/routerkeys.c @@ -121,14 +121,14 @@ read_encrypted_secret_key(ed25519_secret_key_t *out, saved_errno = EINVAL; goto done; } - const int r = crypto_unpwbox(&secret, &secret_len, - encrypted_key, encrypted_len, - pwbuf, pwlen); - if (r == UNPWBOX_CORRUPTED) { + const int r_unbox = crypto_unpwbox(&secret, &secret_len, + encrypted_key, encrypted_len, + pwbuf, pwlen); + if (r_unbox == UNPWBOX_CORRUPTED) { log_err(LD_OR, "%s is corrupted.", fname); saved_errno = EINVAL; goto done; - } else if (r == UNPWBOX_OKAY) { + } else if (r_unbox == UNPWBOX_OKAY) { break; } diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 6ea9d8b0d1..773f681c3c 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -917,7 +917,6 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now, */ digestmap_t *pending_id; fp_pair_map_t *pending_cert; - authority_cert_t *cert; /* * The missing_id_digests smartlist will hold a list of id digests * we want to fetch the newest cert for; the missing_cert_digests @@ -1027,8 +1026,9 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now, } SMARTLIST_FOREACH_BEGIN(voter->sigs, document_signature_t *, sig) { - cert = authority_cert_get_by_digests(voter->identity_digest, - sig->signing_key_digest); + authority_cert_t *cert = + authority_cert_get_by_digests(voter->identity_digest, + sig->signing_key_digest); if (cert) { if (now < cert->expires) download_status_reset_by_sk_in_cl(cl, sig->signing_key_digest); diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 0f9b9f75b6..03f8f4eded 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -1779,11 +1779,11 @@ router_parse_entry_from_string(const char *s, const char *end, if (cache_copy) { size_t len = router->cache_info.signed_descriptor_len + router->cache_info.annotations_len; - char *cp = + char *signed_body = router->cache_info.signed_descriptor_body = tor_malloc(len+1); if (prepend_annotations) { - memcpy(cp, prepend_annotations, prepend_len); - cp += prepend_len; + memcpy(signed_body, prepend_annotations, prepend_len); + signed_body += prepend_len; } /* This assertion will always succeed. * len == signed_desc_len + annotations_len @@ -1791,9 +1791,9 @@ router_parse_entry_from_string(const char *s, const char *end, * == end-start_of_annotations + prepend_len * We already wrote prepend_len bytes into the buffer; now we're * writing end-start_of_annotations -NM. */ - tor_assert(cp+(end-start_of_annotations) == + tor_assert(signed_body+(end-start_of_annotations) == router->cache_info.signed_descriptor_body+len); - memcpy(cp, start_of_annotations, end-start_of_annotations); + memcpy(signed_body, start_of_annotations, end-start_of_annotations); router->cache_info.signed_descriptor_body[len] = '\0'; tor_assert(strlen(router->cache_info.signed_descriptor_body) == len); } @@ -3546,7 +3546,6 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, common_digests_t ns_digests; const char *cert, *end_of_header, *end_of_footer, *s_dup = s; directory_token_t *tok; - int ok; struct in_addr in; int i, inorder, n_signatures = 0; memarea_t *area = NULL, *rs_area = NULL; @@ -3636,9 +3635,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, } else { tok = find_opt_by_keyword(tokens, K_CONSENSUS_METHOD); if (tok) { + int num_ok; ns->consensus_method = (int)tor_parse_long(tok->args[0], 10, 1, INT_MAX, - &ok, NULL); - if (!ok) + &num_ok, NULL); + if (!num_ok) goto err; } else { ns->consensus_method = 1; @@ -3659,14 +3659,17 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, tok = find_by_keyword(tokens, K_VOTING_DELAY); tor_assert(tok->n_args >= 2); - ns->vote_seconds = - (int) tor_parse_long(tok->args[0], 10, 0, INT_MAX, &ok, NULL); - if (!ok) - goto err; - ns->dist_seconds = - (int) tor_parse_long(tok->args[1], 10, 0, INT_MAX, &ok, NULL); - if (!ok) - goto err; + { + int ok; + ns->vote_seconds = + (int) tor_parse_long(tok->args[0], 10, 0, INT_MAX, &ok, NULL); + if (!ok) + goto err; + ns->dist_seconds = + (int) tor_parse_long(tok->args[1], 10, 0, INT_MAX, &ok, NULL); + if (!ok) + goto err; + } if (ns->valid_after + (get_options()->TestingTorNetwork ? MIN_VOTE_INTERVAL_TESTING : MIN_VOTE_INTERVAL) > ns->fresh_until) { @@ -3817,6 +3820,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, goto err; } voter->addr = ntohl(in.s_addr); + int ok; voter->dir_port = (uint16_t) tor_parse_long(tok->args[4], 10, 0, 65535, &ok, NULL); if (!ok) @@ -3864,8 +3868,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, (tok = find_opt_by_keyword(tokens, K_LEGACY_DIR_KEY))) { int bad = 1; if (strlen(tok->args[0]) == HEX_DIGEST_LEN) { - networkstatus_voter_info_t *voter = smartlist_get(ns->voters, 0); - if (base16_decode(voter->legacy_id_digest, DIGEST_LEN, + networkstatus_voter_info_t *voter_0 = smartlist_get(ns->voters, 0); + if (base16_decode(voter_0->legacy_id_digest, DIGEST_LEN, tok->args[0], HEX_DIGEST_LEN) != DIGEST_LEN) bad = 1; else diff --git a/src/or/scheduler.c b/src/or/scheduler.c index 8e4810b199..fd275046af 100644 --- a/src/or/scheduler.c +++ b/src/or/scheduler.c @@ -500,13 +500,13 @@ scheduler_run, (void)) /* Readd any channels we need to */ if (to_readd) { - SMARTLIST_FOREACH_BEGIN(to_readd, channel_t *, chan) { - chan->scheduler_state = SCHED_CHAN_PENDING; + SMARTLIST_FOREACH_BEGIN(to_readd, channel_t *, readd_chan) { + readd_chan->scheduler_state = SCHED_CHAN_PENDING; smartlist_pqueue_add(channels_pending, scheduler_compare_channels, STRUCT_OFFSET(channel_t, sched_heap_idx), - chan); - } SMARTLIST_FOREACH_END(chan); + readd_chan); + } SMARTLIST_FOREACH_END(readd_chan); smartlist_free(to_readd); } diff --git a/src/or/transports.c b/src/or/transports.c index c99ff1729b..be77c871c4 100644 --- a/src/or/transports.c +++ b/src/or/transports.c @@ -1425,7 +1425,7 @@ create_managed_proxy_environment(const managed_proxy_t *mp) * * Requires that proxy_argv have at least one element. */ STATIC managed_proxy_t * -managed_proxy_create(const smartlist_t *transport_list, +managed_proxy_create(const smartlist_t *with_transport_list, char **proxy_argv, int is_server) { managed_proxy_t *mp = tor_malloc_zero(sizeof(managed_proxy_t)); @@ -1436,7 +1436,7 @@ managed_proxy_create(const smartlist_t *transport_list, mp->proxy_uri = get_pt_proxy_uri(); mp->transports_to_launch = smartlist_new(); - SMARTLIST_FOREACH(transport_list, const char *, transport, + SMARTLIST_FOREACH(with_transport_list, const char *, transport, add_transport_to_proxy(transport, mp)); /* register the managed proxy */ @@ -1460,7 +1460,7 @@ managed_proxy_create(const smartlist_t *transport_list, * elements, containing at least one element. **/ MOCK_IMPL(void, -pt_kickstart_proxy, (const smartlist_t *transport_list, +pt_kickstart_proxy, (const smartlist_t *with_transport_list, char **proxy_argv, int is_server)) { managed_proxy_t *mp=NULL; @@ -1473,7 +1473,7 @@ pt_kickstart_proxy, (const smartlist_t *transport_list, mp = get_managed_proxy_by_argv_and_type(proxy_argv, is_server); if (!mp) { /* we haven't seen this proxy before */ - managed_proxy_create(transport_list, proxy_argv, is_server); + managed_proxy_create(with_transport_list, proxy_argv, is_server); } else { /* known proxy. add its transport to its transport list */ if (mp->was_around_before_config_read) { @@ -1490,14 +1490,14 @@ pt_kickstart_proxy, (const smartlist_t *transport_list, /* For each new transport, check if the managed proxy used to support it before the SIGHUP. If that was the case, make sure it doesn't get removed because we might reuse it. */ - SMARTLIST_FOREACH_BEGIN(transport_list, const char *, transport) { + SMARTLIST_FOREACH_BEGIN(with_transport_list, const char *, transport) { old_transport = transport_get_by_name(transport); if (old_transport) old_transport->marked_for_removal = 0; } SMARTLIST_FOREACH_END(transport); } - SMARTLIST_FOREACH(transport_list, const char *, transport, + SMARTLIST_FOREACH(with_transport_list, const char *, transport, add_transport_to_proxy(transport, mp)); free_execve_args(proxy_argv); } diff --git a/src/test/bench.c b/src/test/bench.c index 5595988f31..f1cf715f30 100644 --- a/src/test/bench.c +++ b/src/test/bench.c @@ -662,7 +662,6 @@ main(int argc, const char **argv) { int i; int list=0, n_enabled=0; - benchmark_t *b; char *errmsg; or_options_t *options; @@ -672,10 +671,10 @@ main(int argc, const char **argv) if (!strcmp(argv[i], "--list")) { list = 1; } else { - benchmark_t *b = find_benchmark(argv[i]); + benchmark_t *benchmark = find_benchmark(argv[i]); ++n_enabled; - if (b) { - b->enabled = 1; + if (benchmark) { + benchmark->enabled = 1; } else { printf("No such benchmark as %s\n", argv[i]); } @@ -700,7 +699,7 @@ main(int argc, const char **argv) return 1; } - for (b = benchmarks; b->name; ++b) { + for (benchmark_t *b = benchmarks; b->name; ++b) { if (b->enabled || n_enabled == 0) { printf("===== %s =====\n", b->name); if (!list) diff --git a/src/test/test_addr.c b/src/test/test_addr.c index 337bddad6b..dcecb0b7dc 100644 --- a/src/test/test_addr.c +++ b/src/test/test_addr.c @@ -83,12 +83,12 @@ test_addr_basic(void *arg) tt_assert_test_fmt_type(a,b,e1" "#op" "e2,struct in6_addr*, \ (memcmp(val1_->s6_addr, val2_->s6_addr, 16) op 0), \ char *, "%s", \ - { int i; char *cp; \ + { char *cp; \ cp = print_ = tor_malloc(64); \ - for (i=0;i<16;++i) { \ + for (int ii_=0;i<16;++i) { \ tor_snprintf(cp, 3,"%02x", (unsigned)value_->s6_addr[i]);\ cp += 2; \ - if (i != 15) *cp++ = ':'; \ + if (ii_ != 15) *cp++ = ':'; \ } \ }, \ { tor_free(print_); }, \ diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c index 95584d54a8..91db62c1a3 100644 --- a/src/test/test_buffers.c +++ b/src/test/test_buffers.c @@ -178,10 +178,10 @@ test_buffers_basic(void *arg) /* Try adding a string too long for any freelist. */ { - char *cp = tor_malloc_zero(65536); + char *mem = tor_malloc_zero(65536); buf = buf_new(); - write_to_buf(cp, 65536, buf); - tor_free(cp); + write_to_buf(mem, 65536, buf); + tor_free(mem); tt_int_op(buf_datalen(buf), OP_EQ, 65536); buf_free(buf); diff --git a/src/test/test_cell_formats.c b/src/test/test_cell_formats.c index 499a637959..f839a5b72c 100644 --- a/src/test/test_cell_formats.c +++ b/src/test/test_cell_formats.c @@ -882,8 +882,8 @@ test_cfmt_resolved_cells(void *arg) memset(&rh, 0, sizeof(rh)); \ } while (0) #define CLEAR_ADDRS() do { \ - SMARTLIST_FOREACH(addrs, address_ttl_t *, a, \ - address_ttl_free(a); ); \ + SMARTLIST_FOREACH(addrs, address_ttl_t *, aa_, \ + address_ttl_free(aa_); ); \ smartlist_clear(addrs); \ } while (0) #define SET_CELL(s) do { \ diff --git a/src/test/test_containers.c b/src/test/test_containers.c index fd896760c0..d8b82e0661 100644 --- a/src/test/test_containers.c +++ b/src/test/test_containers.c @@ -132,7 +132,7 @@ test_container_smartlist_strings(void *arg) tt_str_op("def",OP_EQ, smartlist_get(sl, 5)); tt_str_op(" ",OP_EQ, smartlist_get(sl, 6)); tt_str_op("ghijk",OP_EQ, smartlist_get(sl, 7)); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); smartlist_split_string(sl, "a,bbd,cdef", ",", SPLIT_SKIP_SPACE, 0); @@ -149,7 +149,7 @@ test_container_smartlist_strings(void *arg) tt_str_op("bnud",OP_EQ, smartlist_get(sl,6)); tt_str_op("",OP_EQ, smartlist_get(sl,7)); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); smartlist_split_string(sl, " ab\tc \td ef ", NULL, @@ -165,7 +165,7 @@ test_container_smartlist_strings(void *arg) tt_str_op("ghi",OP_EQ, smartlist_get(sl,4)); tt_str_op("j",OP_EQ, smartlist_get(sl,5)); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); cp_alloc = smartlist_join_strings(sl, "XY", 0, NULL); @@ -186,7 +186,7 @@ test_container_smartlist_strings(void *arg) tt_int_op(5,OP_EQ, smartlist_len(sl)); tt_str_op("z",OP_EQ, smartlist_get(sl, 3)); tt_str_op("zhasd <> <> bnud<>",OP_EQ, smartlist_get(sl, 4)); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); smartlist_split_string(sl, "abcd\n", "\n", @@ -198,7 +198,7 @@ test_container_smartlist_strings(void *arg) tt_int_op(2,OP_EQ, smartlist_len(sl)); tt_str_op("efgh",OP_EQ, smartlist_get(sl, 1)); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); /* Test swapping, shuffling, and sorting. */ @@ -286,7 +286,7 @@ test_container_smartlist_strings(void *arg) tt_str_op(cp_alloc,OP_EQ, "and"); tor_free(cp_alloc); tt_int_op(smartlist_len(sl),OP_EQ, 6); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); cp_alloc = smartlist_pop_last(sl); tt_ptr_op(cp_alloc,OP_EQ, NULL); @@ -326,7 +326,7 @@ test_container_smartlist_strings(void *arg) tt_assert(!allsame); tt_assert(allin); } - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_clear(sl); /* Test string_remove and remove and join_strings2 */ @@ -348,7 +348,7 @@ test_container_smartlist_strings(void *arg) done: - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); tor_free(cp_alloc); } @@ -437,7 +437,7 @@ test_container_smartlist_digests(void *arg) tt_mem_op(smartlist_get(sl, 1),OP_EQ, "AAAAAAAAAAAAAAAAAAAA", DIGEST_LEN); done: - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); } @@ -490,7 +490,7 @@ test_container_smartlist_join(void *arg) smartlist_free(sl3); SMARTLIST_FOREACH(sl2, char *, cp, tor_free(cp)); smartlist_free(sl2); - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); tor_free(joined); } @@ -528,7 +528,7 @@ test_container_smartlist_pos(void *arg) tt_int_op(smartlist_pos(sl, smartlist_get(sl,6)), ==, 6); done: - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); } @@ -1140,7 +1140,7 @@ test_container_smartlist_most_frequent(void *arg) tt_str_op(cp, ==, "def"); /* No tie */ done: - SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(sl, char *, str, tor_free(str)); smartlist_free(sl); } diff --git a/src/test/test_dir.c b/src/test/test_dir.c index 8889ccc41b..51a5ecad76 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -704,8 +704,8 @@ test_dir_parse_router_list(void *arg) "9a651ee03b64325959e8f1b46f2b689b30750b4c"); /* Now tidy up */ - SMARTLIST_FOREACH(dest, routerinfo_t *, ri, routerinfo_free(ri)); - SMARTLIST_FOREACH(invalid, uint8_t *, d, tor_free(d)); + SMARTLIST_FOREACH(dest, routerinfo_t *, rinfo, routerinfo_free(rinfo)); + SMARTLIST_FOREACH(invalid, uint8_t *, dig, tor_free(dig)); smartlist_clear(dest); smartlist_clear(invalid); @@ -741,9 +741,9 @@ test_dir_parse_router_list(void *arg) else SMARTLIST_FOREACH(dest, extrainfo_t *, ei, extrainfo_free(ei)); smartlist_free(dest); - SMARTLIST_FOREACH(invalid, uint8_t *, d, tor_free(d)); + SMARTLIST_FOREACH(invalid, uint8_t *, dig, tor_free(dig)); smartlist_free(invalid); - SMARTLIST_FOREACH(chunks, char *, cp, tor_free(cp)); + SMARTLIST_FOREACH(chunks, char *, chunk, tor_free(chunk)); smartlist_free(chunks); routerinfo_free(ri); if (map) { @@ -1169,7 +1169,7 @@ test_dir_fp_pairs(void *arg) tt_mem_op(pair->second,OP_EQ, "Use AES-256 instead.", DIGEST_LEN); done: - SMARTLIST_FOREACH(sl, fp_pair_t *, pair, tor_free(pair)); + SMARTLIST_FOREACH(sl, fp_pair_t *, pair_to_free, tor_free(pair_to_free)); smartlist_free(sl); } diff --git a/src/test/test_dns.c b/src/test/test_dns.c index 5289ca58ff..8346c0a33f 100644 --- a/src/test/test_dns.c +++ b/src/test/test_dns.c @@ -52,7 +52,7 @@ NS(test_main)(void *arg) static int resolve_retval = 0; static int resolve_made_conn_pending = 0; static char *resolved_name = NULL; -static cached_resolve_t *cache_entry = NULL; +static cached_resolve_t *cache_entry_mock = NULL; static int n_fake_impl = 0; @@ -85,8 +85,8 @@ NS(dns_resolve_impl)(edge_connection_t *exitconn, int is_resolve, if (hostname_out && resolved_name) *hostname_out = tor_strdup(resolved_name); - if (resolve_out && cache_entry) - *resolve_out = cache_entry; + if (resolve_out && cache_entry_mock) + *resolve_out = cache_entry_mock; n_fake_impl++; @@ -213,7 +213,7 @@ NS(test_main)(void *arg) exitconn->on_circuit = &(on_circuit->base_); - cache_entry = fake_resolved; + cache_entry_mock = fake_resolved; prev_n_send_resolved_cell_replacement = n_send_resolved_cell_replacement; diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c index 2afbdde88a..2ae605b8db 100644 --- a/src/test/test_microdesc.c +++ b/src/test/test_microdesc.c @@ -716,7 +716,7 @@ test_md_parse(void *arg) tt_int_op(md->ipv6_orport, OP_EQ, 9090); done: - SMARTLIST_FOREACH(mds, microdesc_t *, md, microdesc_free(md)); + SMARTLIST_FOREACH(mds, microdesc_t *, mdsc, microdesc_free(mdsc)); smartlist_free(mds); SMARTLIST_FOREACH(invalid, char *, cp, tor_free(cp)); smartlist_free(invalid); diff --git a/src/test/test_policy.c b/src/test/test_policy.c index 14182af86b..58102ea6db 100644 --- a/src/test/test_policy.c +++ b/src/test/test_policy.c @@ -523,18 +523,17 @@ test_policies_general(void *arg) /* Test a too-long policy. */ { - int i; - char *policy = NULL; + char *policy_strng = NULL; smartlist_t *chunks = smartlist_new(); smartlist_add(chunks, tor_strdup("accept ")); for (i=1; i<10000; ++i) smartlist_add_asprintf(chunks, "%d,", i); smartlist_add(chunks, tor_strdup("20000")); - policy = smartlist_join_strings(chunks, "", 0, NULL); + policy_strng = smartlist_join_strings(chunks, "", 0, NULL); SMARTLIST_FOREACH(chunks, char *, ch, tor_free(ch)); smartlist_free(chunks); - short_parsed = parse_short_policy(policy);/* shouldn't be accepted */ - tor_free(policy); + short_parsed = parse_short_policy(policy_strng);/* shouldn't be accepted */ + tor_free(policy_strng); tt_ptr_op(NULL, OP_EQ, short_parsed); } diff --git a/src/test/test_pt.c b/src/test/test_pt.c index ab8447dcd7..e5cdc5f3cd 100644 --- a/src/test/test_pt.c +++ b/src/test/test_pt.c @@ -107,12 +107,12 @@ test_pt_parsing(void *arg) tt_assert(parse_smethod_line(line, mp) == 0); tt_int_op(1, OP_EQ, smartlist_len(mp->transports)); { - const transport_t *transport = smartlist_get(mp->transports, 0); - tt_assert(transport); - tt_str_op(transport->name, OP_EQ, "trebuchet"); - tt_int_op(transport->port, OP_EQ, 9999); - tt_str_op(fmt_addr(&transport->addr), OP_EQ, "127.0.0.1"); - tt_str_op(transport->extra_info_args, OP_EQ, + const transport_t *transport_ = smartlist_get(mp->transports, 0); + tt_assert(transport_); + tt_str_op(transport_->name, OP_EQ, "trebuchet"); + tt_int_op(transport_->port, OP_EQ, 9999); + tt_str_op(fmt_addr(&transport_->addr), OP_EQ, "127.0.0.1"); + tt_str_op(transport_->extra_info_args, OP_EQ, "counterweight=3,sling=snappy"); } reset_mp(mp); diff --git a/src/test/test_scheduler.c b/src/test/test_scheduler.c index 15fbb2d186..f8b5046c70 100644 --- a/src/test/test_scheduler.c +++ b/src/test/test_scheduler.c @@ -150,7 +150,7 @@ channel_flush_some_cells_mock_free_all(void) static void channel_flush_some_cells_mock_set(channel_t *chan, ssize_t num_cells) { - flush_mock_channel_t *flush_mock_ch = NULL; + int found = 0; if (!chan) return; if (num_cells <= 0) return; @@ -166,6 +166,7 @@ channel_flush_some_cells_mock_set(channel_t *chan, ssize_t num_cells) if (flush_mock_ch->chan == chan) { /* Found it */ flush_mock_ch->cells = num_cells; + found = 1; break; } } else { @@ -175,8 +176,9 @@ channel_flush_some_cells_mock_set(channel_t *chan, ssize_t num_cells) } } SMARTLIST_FOREACH_END(flush_mock_ch); - if (!flush_mock_ch) { + if (! found) { /* The loop didn't find it */ + flush_mock_channel_t *flush_mock_ch; flush_mock_ch = tor_malloc_zero(sizeof(*flush_mock_ch)); flush_mock_ch->chan = chan; flush_mock_ch->cells = num_cells; diff --git a/src/test/test_util.c b/src/test/test_util.c index c331a662a5..7cb9311577 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -2007,9 +2007,9 @@ test_util_strmisc(void *arg) /* Test hex_str */ { char binary_data[68]; - size_t i; - for (i = 0; i < sizeof(binary_data); ++i) - binary_data[i] = i; + size_t idx; + for (idx = 0; idx < sizeof(binary_data); ++idx) + binary_data[idx] = idx; tt_str_op(hex_str(binary_data, 0),OP_EQ, ""); tt_str_op(hex_str(binary_data, 1),OP_EQ, "00"); tt_str_op(hex_str(binary_data, 17),OP_EQ,