]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm import: Free memory used by source storage at deinit.
authorTimo Sirainen <tss@iki.fi>
Mon, 29 Nov 2010 19:08:37 +0000 (19:08 +0000)
committerTimo Sirainen <tss@iki.fi>
Mon, 29 Nov 2010 19:08:37 +0000 (19:08 +0000)
src/doveadm/doveadm-mail-import.c

index b5e72ae522b9aee637258ab2dc799e2b53e54c89..3f11b0cee028fd1567469559a52d562aa4055bb5 100644 (file)
@@ -180,6 +180,14 @@ static void cmd_import_init(struct doveadm_mail_cmd_context *_ctx,
                                             &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 @@ static struct doveadm_mail_cmd_context *cmd_import_alloc(void)
 
        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;
 }