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)
This commit is contained in:
guybe7 2020-08-20 18:55:14 +02:00 committed by Oran Agra
parent 113d5ae872
commit c9478a3b4e

View File

@ -609,6 +609,8 @@ void moduleHandlePropagationAfterCommandCallback(RedisModuleCtx *ctx) {
redisOpArrayFree(&server.also_propagate); redisOpArrayFree(&server.also_propagate);
/* Restore the previous oparray in case of nexted use of the API. */ /* Restore the previous oparray in case of nexted use of the API. */
server.also_propagate = ctx->saved_oparray; server.also_propagate = ctx->saved_oparray;
/* We're done with saved_oparray, let's invalidate it. */
redisOpArrayInit(&ctx->saved_oparray);
} }
} }