Skip to content
Snippets Groups Projects
Commit ef4eb823 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Merge the circuit_{free,clear}_cpath functions

(Based on a suggestion by arma at #9777)
parent babbd3ff
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,6 @@ struct global_circuitlist_s global_circuitlist =
/** A list of all the circuits in CIRCUIT_STATE_CHAN_WAIT. */
static smartlist_t *circuits_pending_chans = NULL;
static void circuit_free_cpath(crypt_path_t *cpath);
static void circuit_free_cpath_node(crypt_path_t *victim);
static void cpath_ref_decref(crypt_path_reference_t *cpath_ref);
......@@ -728,7 +727,7 @@ circuit_free(circuit_t *circ)
}
tor_free(ocirc->build_state);
circuit_free_cpath(ocirc->cpath);
circuit_clear_cpath(ocirc);
crypto_pk_free(ocirc->intro_key);
rend_data_free(ocirc->rend_data);
......@@ -787,11 +786,14 @@ circuit_free(circuit_t *circ)
tor_free(mem);
}
/** Deallocate space associated with the linked list <b>cpath</b>. */
static void
circuit_free_cpath(crypt_path_t *cpath)
/** Deallocate the linked list circ-><b>cpath</b>, and remove the cpath from
* <b>circ</b>. */
void
circuit_clear_cpath(origin_circuit_t *circ)
{
crypt_path_t *victim, *head=cpath;
crypt_path_t *victim, *head, *cpath;
head = cpath = circ->cpath;
if (!cpath)
return;
......@@ -805,13 +807,7 @@ circuit_free_cpath(crypt_path_t *cpath)
}
circuit_free_cpath_node(cpath);
}
/** Remove all the items in the cpath on <b>circ</b>.*/
void
circuit_clear_cpath(origin_circuit_t *circ)
{
circuit_free_cpath(circ->cpath);
circ->cpath = NULL;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment