From 65c24bd3d436a08a680fa80bf5b3f4f9cf8ef395 Mon Sep 17 00:00:00 2001 From: guybe7 Date: Thu, 20 Aug 2020 18:55:14 +0200 Subject: [PATCH] Modules: Invalidate saved_oparray after use (#7688) We wanna avoid a chance of someone using the pointer in it after it'll be freed / realloced. --- src/module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/module.c b/src/module.c index 2c90c599a..d29b2e3f1 100644 --- a/src/module.c +++ b/src/module.c @@ -609,6 +609,8 @@ void moduleHandlePropagationAfterCommandCallback(RedisModuleCtx *ctx) { redisOpArrayFree(&server.also_propagate); /* Restore the previous oparray in case of nexted use of the API. */ server.also_propagate = ctx->saved_oparray; + /* We're done with saved_oparray, let's invalidate it. */ + redisOpArrayInit(&ctx->saved_oparray); } }