# HG changeset patch # User Matt Johnston # Date 1494346833 -28800 # Node ID ab06e093d1e1148436c6ecc8c1ec106322c76fc1 # Parent 0d889b06812398324442eac299df0ad49d39724a free forced_command diff -r 0d889b068123 -r ab06e093d1e1 svr-authpubkeyoptions.c --- a/svr-authpubkeyoptions.c Wed May 10 00:20:21 2017 +0800 +++ b/svr-authpubkeyoptions.c Wed May 10 00:20:33 2017 +0800 @@ -95,6 +95,7 @@ if (chansess->cmd) { /* original_command takes ownership */ chansess->original_command = chansess->cmd; + chansess->cmd = NULL; } else { chansess->original_command = m_strdup(""); } @@ -108,6 +109,9 @@ /* Free potential public key options */ void svr_pubkey_options_cleanup() { if (ses.authstate.pubkey_options) { + if (ses.authstate.pubkey_options->forced_command) { + m_free(ses.authstate.pubkey_options->forced_command); + } m_free(ses.authstate.pubkey_options); ses.authstate.pubkey_options = NULL; } @@ -200,8 +204,7 @@ bad_option: ret = DROPBEAR_FAILURE; - m_free(ses.authstate.pubkey_options); - ses.authstate.pubkey_options = NULL; + svr_pubkey_options_cleanup(); dropbear_log(LOG_WARNING, "Bad public key options at %s:%d", filename, line_num); end: