diff options
author | Roger Dingledine <arma@torproject.org> | 2007-11-27 21:17:43 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2007-11-27 21:17:43 +0000 |
commit | 7f12ebc3fa4fc8cb8b8949961ae4ad62d740e8ab (patch) | |
tree | 6b120be21dd2f32406a2a5603532aedda645aefa | |
parent | 466abecef43b39faf48c33770a7939162341f5f2 (diff) | |
download | tor-7f12ebc3fa4fc8cb8b8949961ae4ad62d740e8ab.tar tor-7f12ebc3fa4fc8cb8b8949961ae4ad62d740e8ab.tar.gz |
cleanups on r12579
svn:r12580
-rw-r--r-- | src/common/crypto.c | 1 | ||||
-rw-r--r-- | src/or/rendcommon.c | 14 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c index c4a06c7c1..ad9e11a26 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -486,6 +486,7 @@ crypto_pk_write_public_key_to_string(crypto_pk_env_t *env, char **dest, */ if (!PEM_write_bio_RSAPublicKey(b, env->key)) { crypto_log_errors(LOG_WARN, "writing public key to string"); + /* XXX020 leaks b? maybe "BIO_free(b);" would be smart here. -RD */ return -1; } diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c index cf92a2f9a..3dd1caa49 100644 --- a/src/or/rendcommon.c +++ b/src/or/rendcommon.c @@ -204,7 +204,7 @@ rend_encode_v2_intro_points(char **ipos_base64, size_t onion_key_len; crypto_pk_env_t *intro_key; char *service_key = NULL; - char *addr = NULL; + char *address = NULL; size_t service_key_len; int res; char hex_digest[HEX_DIGEST_LEN+2]; /* includes $ and NUL. */ @@ -217,7 +217,6 @@ rend_encode_v2_intro_points(char **ipos_base64, if (crypto_pk_write_public_key_to_string(info->onion_key, &onion_key, &onion_key_len) < 0) { log_warn(LD_REND, "Could not write onion key."); - tor_free(onion_key); goto done; } /* Encode intro key. */ @@ -230,12 +229,11 @@ rend_encode_v2_intro_points(char **ipos_base64, crypto_pk_write_public_key_to_string(intro_key, &service_key, &service_key_len) < 0) { log_warn(LD_REND, "Could not write intro key."); - tor_free(service_key); tor_free(onion_key); goto done; } /* Assemble everything for this introduction point. */ - addr = tor_dup_addr(info->addr); + address = tor_dup_addr(info->addr); res = tor_snprintf(unenc + unenc_written, unenc_len - unenc_written, "introduction-point %s\n" "ip-address %s\n" @@ -243,11 +241,11 @@ rend_encode_v2_intro_points(char **ipos_base64, "onion-key\n%s" "service-key\n%s", id_base32, - addr, + address, info->port, onion_key, service_key); - tor_free(addr); + tor_free(address); tor_free(onion_key); tor_free(service_key); if (res < 0) { @@ -357,7 +355,6 @@ rend_encode_v2_descriptors(smartlist_t *desc_strs_out, if (desc->n_intro_points > 0 && rend_encode_v2_intro_points(&ipos_base64, desc, descriptor_cookie) < 0) { log_warn(LD_REND, "Encoding of introduction points did not succeed."); - tor_free(ipos_base64); return -1; } /* Encode REND_NUMBER_OF_NON_CONSECUTIVE_REPLICAS descriptors. */ @@ -392,7 +389,6 @@ rend_encode_v2_descriptors(smartlist_t *desc_strs_out, if (crypto_pk_write_public_key_to_string(desc->pk, &permanent_key, &permanent_key_len) < 0) { log_warn(LD_BUG, "Could not write public key to string."); - tor_free(permanent_key); goto err; } /* Encode timestamp. */ @@ -479,7 +475,7 @@ rend_encode_v2_descriptors(smartlist_t *desc_strs_out, } log_info(LD_REND, "Successfully encoded a v2 descriptor and " - "confirmed that it is parsable."); + "confirmed that it is parsable."); goto done; err: |