changeset 12478:97b3d4b714cf

doveadm import: Free memory used by source storage at deinit.
author Timo Sirainen <tss@iki.fi>
date Mon, 29 Nov 2010 19:08:37 +0000
parents 9e54d61d57fb
children 5e82c5b1b4a9
files src/doveadm/doveadm-mail-import.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-import.c	Fri Nov 26 23:06:24 2010 +0000
+++ b/src/doveadm/doveadm-mail-import.c	Mon Nov 29 19:08:37 2010 +0000
@@ -180,6 +180,14 @@
 					     &service_user, &user, &error) < 0)
 		i_fatal("Import user initialization failed: %s", error);
 	ctx->src_user = user;
+	mail_storage_service_user_free(&service_user);
+}
+
+static void cmd_import_deinit(struct doveadm_mail_cmd_context *_ctx)
+{
+	struct import_cmd_context *ctx = (struct import_cmd_context *)_ctx;
+
+	mail_user_unref(&ctx->src_user);
 }
 
 static struct doveadm_mail_cmd_context *cmd_import_alloc(void)
@@ -188,6 +196,7 @@
 
 	ctx = doveadm_mail_cmd_alloc(struct doveadm_mail_cmd_context);
 	ctx->v.init = cmd_import_init;
+	ctx->v.deinit = cmd_import_deinit;
 	ctx->v.run = cmd_import_run;
 	return ctx;
 }