From 315ecdf30dfefa0316b608cc37d867795499419e Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 4 Oct 2018 17:21:16 +0100 Subject: [PATCH] [Minor] Prevent race condition in Redis ctx refcounting --- src/lua/lua_redis.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lua/lua_redis.c b/src/lua/lua_redis.c index d3eaa300a..5b2ba0062 100644 --- a/src/lua/lua_redis.c +++ b/src/lua/lua_redis.c @@ -480,6 +480,8 @@ lua_redis_push_results (struct lua_redis_ctx *ctx, lua_State *L) static void lua_redis_cleanup_events (struct lua_redis_ctx *ctx) { + REDIS_RETAIN (ctx); /* To avoid preliminary destruction */ + while (!g_queue_is_empty (ctx->events_cleanup)) { struct lua_redis_result *result = g_queue_pop_head (ctx->events_cleanup); @@ -488,6 +490,8 @@ lua_redis_cleanup_events (struct lua_redis_ctx *ctx) g_free (result); } + + REDIS_RELEASE (ctx); } /** -- 2.39.5