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) {
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? */
SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_free(t));
smartlist_free(tokens);
+ smartlist_free(intropoints);
+
return result;
}