diff options
author | guybe7 <guy.benoish@redislabs.com> | 2020-08-20 18:55:14 +0200 |
---|---|---|
committer | Oran Agra <oran@redislabs.com> | 2020-10-27 08:49:22 +0200 |
commit | fcda82930e78dbfe92a3b0024212eb75fc08a919 (patch) | |
tree | 8587c0be0537781e9fbb2e9166755dfa991a2fc5 | |
parent | cefd33925cf2c49ecca2a5a1590efcd00952ece6 (diff) | |
download | redis-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.c | 2 |
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); } } |