mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-09-20 21:16:22 +02:00
fix another mem leak, and point out another for karsten
svn:r12841
This commit is contained in:
parent
98a56a386d
commit
e70d9a7f4d
@ -3402,7 +3402,7 @@ rend_decrypt_introduction_points(rend_service_descriptor_t *parsed,
|
||||
intro_points_encrypted_size = unenclen;
|
||||
}
|
||||
/* Consider one intro point after the other. */
|
||||
current_ipo = (const char **)&intro_points_encrypted;
|
||||
current_ipo = &intro_points_encrypted;
|
||||
intropoints = smartlist_create();
|
||||
tokens = smartlist_create();
|
||||
if (parsed->intro_keys) {
|
||||
@ -3479,6 +3479,9 @@ rend_decrypt_introduction_points(rend_service_descriptor_t *parsed,
|
||||
tok->key = NULL; /* Prevent free */
|
||||
/* Add extend info to list of introduction points. */
|
||||
smartlist_add(intropoints, info);
|
||||
/* XXX if intropoints has items on it, but we goto err the next
|
||||
* time through the loop, we don't free the items in the 'err'
|
||||
* section below. -RD */
|
||||
}
|
||||
/* Write extend infos to descriptor. */
|
||||
/* XXXX020 what if intro_points (&tc) are already set? */
|
||||
@ -3506,6 +3509,8 @@ rend_decrypt_introduction_points(rend_service_descriptor_t *parsed,
|
||||
SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_free(t));
|
||||
smartlist_free(tokens);
|
||||
|
||||
smartlist_free(intropoints);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user