changeset 16655:647ef2264398

doveadm: Minor memory leak fixes at deinit.
author Timo Sirainen <tss@iki.fi>
date Mon, 05 Aug 2013 22:13:28 +0300
parents f7dc5389ab0a
children 19719ea2cddb
files src/doveadm/doveadm-mail-mailbox-status.c src/doveadm/doveadm-mail-mailbox.c
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-mailbox-status.c	Mon Aug 05 21:47:11 2013 +0300
+++ b/src/doveadm/doveadm-mail-mailbox-status.c	Mon Aug 05 22:13:28 2013 +0300
@@ -4,6 +4,7 @@
 #include "str.h"
 #include "mail-namespace.h"
 #include "mail-storage.h"
+#include "mail-search.h"
 #include "doveadm-print.h"
 #include "doveadm-mail.h"
 #include "doveadm-mailbox-list-iter.h"
@@ -207,6 +208,13 @@
 		doveadm_print_header_simple("guid");
 }
 
+static void cmd_mailbox_status_deinit(struct doveadm_mail_cmd_context *_ctx)
+{
+	struct status_cmd_context *ctx = (struct status_cmd_context *)_ctx;
+
+	mail_search_args_unref(&ctx->search_args);
+}
+
 static bool
 cmd_mailbox_status_parse_arg(struct doveadm_mail_cmd_context *_ctx, int c)
 {
@@ -230,6 +238,7 @@
 	ctx->ctx.getopt_args = "t";
 	ctx->ctx.v.parse_arg = cmd_mailbox_status_parse_arg;
 	ctx->ctx.v.init = cmd_mailbox_status_init;
+	ctx->ctx.v.deinit = cmd_mailbox_status_deinit;
 	ctx->ctx.v.run = cmd_mailbox_status_run;
 	doveadm_print_init(DOVEADM_PRINT_TYPE_FLOW);
 	return &ctx->ctx;
--- a/src/doveadm/doveadm-mail-mailbox.c	Mon Aug 05 21:47:11 2013 +0300
+++ b/src/doveadm/doveadm-mail-mailbox.c	Mon Aug 05 22:13:28 2013 +0300
@@ -172,12 +172,20 @@
 	ctx->search_args = doveadm_mail_mailbox_search_args_build(args);
 }
 
+static void cmd_mailbox_list_deinit(struct doveadm_mail_cmd_context *_ctx)
+{
+	struct list_cmd_context *ctx = (struct list_cmd_context *)_ctx;
+
+	mail_search_args_unref(&ctx->search_args);
+}
+
 static struct doveadm_mail_cmd_context *cmd_mailbox_list_alloc(void)
 {
 	struct list_cmd_context *ctx;
 
 	ctx = doveadm_mailbox_cmd_alloc(struct list_cmd_context);
 	ctx->ctx.ctx.v.init = cmd_mailbox_list_init;
+	ctx->ctx.ctx.v.deinit = cmd_mailbox_list_deinit;
 	ctx->ctx.ctx.v.run = cmd_mailbox_list_run;
 	ctx->ctx.ctx.v.parse_arg = cmd_mailbox_list_parse_arg;
 	ctx->ctx.ctx.getopt_args = "78s";