From 90c4834709f6ca95d84428fb73460f37f0cbb787 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Thu, 10 Apr 2014 09:08:53 +0200 Subject: [PATCH] ssh-json: add clean up functions Add clean up functions for the SSH json logger. --- src/output-json-ssh.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/output-json-ssh.c b/src/output-json-ssh.c index 14cc7231e6..43816eb866 100644 --- a/src/output-json-ssh.c +++ b/src/output-json-ssh.c @@ -177,6 +177,16 @@ static TmEcode JsonSshLogThreadDeinit(ThreadVars *t, void *data) return TM_ECODE_OK; } +static void OutputSshLogDeinit(OutputCtx *output_ctx) +{ + OutputSshLoggerDisable(); + + OutputSshCtx *ssh_ctx = output_ctx->data; + LogFileCtx *logfile_ctx = ssh_ctx->file_ctx; + LogFileFreeCtx(logfile_ctx); + SCFree(ssh_ctx); + SCFree(output_ctx); +} #define DEFAULT_LOG_FILENAME "ssh.json" OutputCtx *OutputSshLogInit(ConfNode *conf) @@ -214,11 +224,20 @@ OutputCtx *OutputSshLogInit(ConfNode *conf) ssh_ctx->file_ctx = file_ctx; output_ctx->data = ssh_ctx; - output_ctx->DeInit = NULL; + output_ctx->DeInit = OutputSshLogDeinit; return output_ctx; } +static void OutputSshLogDeinitSub(OutputCtx *output_ctx) +{ + OutputSshLoggerDisable(); + + OutputSshCtx *ssh_ctx = output_ctx->data; + SCFree(ssh_ctx); + SCFree(output_ctx); +} + OutputCtx *OutputSshLogInitSub(ConfNode *conf, OutputCtx *parent_ctx) { AlertJsonThread *ajt = parent_ctx->data; @@ -242,7 +261,7 @@ OutputCtx *OutputSshLogInitSub(ConfNode *conf, OutputCtx *parent_ctx) ssh_ctx->file_ctx = ajt->file_ctx; output_ctx->data = ssh_ctx; - output_ctx->DeInit = NULL; + output_ctx->DeInit = OutputSshLogDeinitSub; return output_ctx; }