From: Nick Mathewson Date: Fri, 7 Feb 2014 15:50:06 +0000 (-0500) Subject: Merge the circuit_{free,clear}_cpath functions X-Git-Tag: tor-0.2.5.2-alpha~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef4eb823f3652cfbf5176c277cb21d30bc20d62a;p=thirdparty%2Ftor.git Merge the circuit_{free,clear}_cpath functions (Based on a suggestion by arma at #9777) --- diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 22224db547..9474896367 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -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 cpath. */ -static void -circuit_free_cpath(crypt_path_t *cpath) +/** Deallocate the linked list circ->cpath, and remove the cpath from + * circ. */ +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 circ.*/ -void -circuit_clear_cpath(origin_circuit_t *circ) -{ - circuit_free_cpath(circ->cpath); circ->cpath = NULL; }