Commit e70d9a7f authored by Roger Dingledine's avatar Roger Dingledine
Browse files

fix another mem leak, and point out another for karsten


svn:r12841
parent 98a56a38
Loading
Loading
Loading
Loading
+6 −1
Changes for src/or/routerparse.c: 6 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -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;
}