dovecot-2.2: doveadm: Minor memory leak fixes at deinit.

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 5 22:13:43 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/647ef2264398
changeset: 16655:647ef2264398
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 05 22:13:28 2013 +0300
description:
doveadm: Minor memory leak fixes at deinit.

diffstat:

 src/doveadm/doveadm-mail-mailbox-status.c |  9 +++++++++
 src/doveadm/doveadm-mail-mailbox.c        |  8 ++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diffs (57 lines):

diff -r f7dc5389ab0a -r 647ef2264398 src/doveadm/doveadm-mail-mailbox-status.c
--- 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;
diff -r f7dc5389ab0a -r 647ef2264398 src/doveadm/doveadm-mail-mailbox.c
--- 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";


More information about the dovecot-cvs mailing list