X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fcommand.c;h=7ffa52fa36f471a90d84ecfcb6f5014447a41bfb;hb=7c574a294504ec55bbd7e7686186832c0f4095ae;hp=b1d233fc8c1a7f3f0ac6d4ec48104ed7366e8ae1;hpb=d8d2a409ab02237d69a130ddcb93ad58dfcaaa23;p=silc.git diff --git a/lib/silcclient/command.c b/lib/silcclient/command.c index b1d233fc..7ffa52fa 100644 --- a/lib/silcclient/command.c +++ b/lib/silcclient/command.c @@ -352,6 +352,12 @@ void silc_client_command_free(SilcClientCommandContext cmd) SilcClientCommandReplyCallback cb; int i; + /* If command is running, finish it. Destructor will free the context. */ + if (silc_fsm_is_started(&cmd->thread)) { + silc_fsm_finish(&cmd->thread); + return; + } + for (i = 0; i < cmd->argc; i++) silc_free(cmd->argv[i]); silc_free(cmd->argv);