summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguybe7 <guy.benoish@redislabs.com>2020-08-20 18:55:14 +0200
committerOran Agra <oran@redislabs.com>2020-10-27 08:49:22 +0200
commitfcda82930e78dbfe92a3b0024212eb75fc08a919 (patch)
tree8587c0be0537781e9fbb2e9166755dfa991a2fc5
parentcefd33925cf2c49ecca2a5a1590efcd00952ece6 (diff)
downloadredis-fcda82930e78dbfe92a3b0024212eb75fc08a919.tar.gz
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. (cherry picked from commit 65c24bd3d436a08a680fa80bf5b3f4f9cf8ef395)
-rw-r--r--src/module.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/module.c b/src/module.c
index 4016402ac..5515cfcad 100644
--- a/src/module.c
+++ b/src/module.c
@@ -543,6 +543,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);
}
}