Fix memory leak in RM_StreamIteratorStop and moduleFreeKeyIterator (#10353)

* Fix memory leak in RM_StreamIteratorStop
* Fix memory leak in moduleFreeKeyIterator

(cherry picked from commit dff153ff24)
This commit is contained in:
Vitah Lin 2022-02-28 23:06:39 +08:00 committed by Oran Agra
parent ef78757e69
commit 2643c691be
1 changed files with 5 additions and 1 deletions

View File

@ -2284,7 +2284,10 @@ static void moduleCloseKey(RedisModuleKey *key) {
int signal = SHOULD_SIGNAL_MODIFIED_KEYS(key->ctx);
if ((key->mode & REDISMODULE_WRITE) && signal)
signalModifiedKey(key->ctx->client,key->db,key->key);
if (key->iter) zfree(key->iter);
if (key->iter) {
streamIteratorStop(key->iter);
zfree(key->iter);
}
RM_ZsetRangeStop(key);
if (key && key->value && key->value->type == OBJ_STREAM &&
key->u.stream.signalready) {
@ -3541,6 +3544,7 @@ int RM_StreamIteratorStop(RedisModuleKey *key) {
errno = EBADF;
return REDISMODULE_ERR;
}
streamIteratorStop(key->iter);
zfree(key->iter);
key->iter = NULL;
return REDISMODULE_OK;