diff options
Diffstat (limited to 'src/or/control.c')
-rw-r--r-- | src/or/control.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/or/control.c b/src/or/control.c index ebe385923a..780dea58e0 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -3779,12 +3779,17 @@ add_onion_helper_keyarg(const char *arg, int discard_pk, memwipe(cp, 0, strlen(cp)); tor_free(cp); }); + smartlist_free(key_args); if (!ok) { crypto_pk_free(pk); pk = NULL; } - if (err_msg_out) *err_msg_out = err_msg; + if (err_msg_out) { + *err_msg_out = err_msg; + } else { + tor_free(err_msg); + } *key_new_alg_out = key_new_alg; *key_new_blob_out = key_new_blob; |