From 3a22de4fb38f71065ae8b12ccd75a9e497bce051 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Sun, 6 Oct 2024 20:04:24 +0200 Subject: [PATCH] lib-sieve: sieve-storage - Make sieve_storage_list_deinit(NULL) a no-op --- src/lib-sieve/sieve-storage.c | 6 +++++- src/plugins/doveadm-sieve/doveadm-sieve-sync.c | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib-sieve/sieve-storage.c b/src/lib-sieve/sieve-storage.c index 72e8e6151..5ffbc7b95 100644 --- a/src/lib-sieve/sieve-storage.c +++ b/src/lib-sieve/sieve-storage.c @@ -1025,13 +1025,17 @@ sieve_storage_list_next(struct sieve_storage_list_context *lctx, bool *active_r) int sieve_storage_list_deinit(struct sieve_storage_list_context **_lctx) { struct sieve_storage_list_context *lctx = *_lctx; + + if (lctx == NULL) + return 0; + *_lctx = NULL; + struct sieve_storage *storage = lctx->storage; int ret; i_assert(storage->v.list_deinit != NULL); ret = storage->v.list_deinit(lctx); - *_lctx = NULL; return ret; } diff --git a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c index 5028dcf1f..1ea6eb65e 100644 --- a/src/plugins/doveadm-sieve/doveadm-sieve-sync.c +++ b/src/plugins/doveadm-sieve/doveadm-sieve-sync.c @@ -728,8 +728,7 @@ static int sieve_attribute_iter_deinit(struct mailbox_attribute_iter *iter) if (sbox->super.attribute_iter_deinit(siter->super) < 0) ret = -1; } - if (siter->sieve_list != NULL) - (void)sieve_storage_list_deinit(&siter->sieve_list); + (void)sieve_storage_list_deinit(&siter->sieve_list); str_free(&siter->name); i_free(siter); return ret; -- GitLab