aboutsummaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/rendservice.c')
-rw-r--r--src/or/rendservice.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 0e05dc23f7..1b098804bc 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -254,6 +254,7 @@ rend_config_services(or_options_t *options, int validate_only)
log_warn(LD_CONFIG,
"Got multiple HiddenServiceNodes lines for a single "
"service.");
+ rend_service_free(service);
return -1;
}
service->intro_prefer_nodes = tor_strdup(line->value);
@@ -263,6 +264,7 @@ rend_config_services(or_options_t *options, int validate_only)
log_warn(LD_CONFIG,
"Got multiple HiddenServiceExcludedNodes lines for "
"a single service.");
+ rend_service_free(service);
return -1;
}
service->intro_exclude_nodes = tor_strdup(line->value);
@@ -553,7 +555,7 @@ rend_service_introduce(origin_circuit_t *circuit, const char *request,
if (len != REND_COOKIE_LEN+DH_KEY_LEN) {
log_warn(LD_PROTOCOL, "Bad length %u for INTRODUCE2 cell.", (int)len);
reason = END_CIRC_REASON_TORPROTOCOL;
- return -1;
+ goto err;
}
r_cookie = ptr;