From 06aecd2b95425cb7b888bc0ed23e69a8a855764b Mon Sep 17 00:00:00 2001 From: Marco Bettini Date: Tue, 16 May 2023 09:40:55 +0000 Subject: [PATCH] lib-dict: redis_reply_callback() - Don't crash if there is no callback --- src/lib-dict/dict-redis.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib-dict/dict-redis.c b/src/lib-dict/dict-redis.c index 8749f3c7cd..51eb322c9b 100644 --- a/src/lib-dict/dict-redis.c +++ b/src/lib-dict/dict-redis.c @@ -83,6 +83,7 @@ static void redis_reply_callback(struct redis_connection *conn, const struct redis_dict_reply *reply, const struct dict_commit_result *result) { + i_assert(reply->callback != NULL); if (conn->dict->dict.prev_ioloop != NULL) io_loop_set_current(conn->dict->dict.prev_ioloop); reply->callback(result, reply->context); @@ -680,7 +681,6 @@ static void redis_transaction_rollback(struct dict_transaction_context *_ctx) struct redis_dict_transaction_context *ctx = (struct redis_dict_transaction_context *)_ctx; struct redis_dict *dict = (struct redis_dict *)_ctx->dict; - struct redis_dict_reply *reply; i_assert(dict->transaction_open); dict->transaction_open = FALSE; @@ -691,8 +691,6 @@ static void redis_transaction_rollback(struct dict_transaction_context *_ctx) } else if (_ctx->changed) { o_stream_nsend_str(dict->conn.conn.output, "*1\r\n$7\r\nDISCARD\r\n"); - reply = array_append_space(&dict->replies); - reply->reply_count = 1; redis_input_state_add(dict, REDIS_INPUT_STATE_DISCARD); } i_free(ctx->error); -- 2.47.3