From 27131bdfa3fecbf58f1022dee49fe37f9785a42f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 15 Jun 2022 12:19:55 +0300 Subject: [PATCH] dict-redis: Fix crash when using synchronous commit Redis is usually used via dict proxy process, which always uses async commit, so this didn't matter so much. --- src/lib-dict/dict-redis.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib-dict/dict-redis.c b/src/lib-dict/dict-redis.c index 01ec7b0d40..8749f3c7cd 100644 --- a/src/lib-dict/dict-redis.c +++ b/src/lib-dict/dict-redis.c @@ -650,6 +650,7 @@ redis_transaction_commit(struct dict_transaction_context *_ctx, bool async, redis_disconnected(&dict->conn, ctx->error); result.ret = -1; result.error = ctx->error; + callback(&result, context); } else if (_ctx->changed) { i_assert(ctx->cmd_count > 0); @@ -667,8 +668,9 @@ redis_transaction_commit(struct dict_transaction_context *_ctx, bool async, return; } redis_wait(dict); + } else { + callback(&result, context); } - callback(&result, context); i_free(ctx->error); i_free(ctx); } -- 2.47.3