Commit 2643c691 authored by Vitah Lin's avatar Vitah Lin Committed by Oran Agra
Browse files

Fix memory leak in RM_StreamIteratorStop and moduleFreeKeyIterator (#10353)

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

(cherry picked from commit dff153ff)
parent ef78757e
...@@ -2284,7 +2284,10 @@ static void moduleCloseKey(RedisModuleKey *key) { ...@@ -2284,7 +2284,10 @@ static void moduleCloseKey(RedisModuleKey *key) {
int signal = SHOULD_SIGNAL_MODIFIED_KEYS(key->ctx); int signal = SHOULD_SIGNAL_MODIFIED_KEYS(key->ctx);
if ((key->mode & REDISMODULE_WRITE) && signal) if ((key->mode & REDISMODULE_WRITE) && signal)
signalModifiedKey(key->ctx->client,key->db,key->key); 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); RM_ZsetRangeStop(key);
if (key && key->value && key->value->type == OBJ_STREAM && if (key && key->value && key->value->type == OBJ_STREAM &&
key->u.stream.signalready) { key->u.stream.signalready) {
...@@ -3541,6 +3544,7 @@ int RM_StreamIteratorStop(RedisModuleKey *key) { ...@@ -3541,6 +3544,7 @@ int RM_StreamIteratorStop(RedisModuleKey *key) {
errno = EBADF; errno = EBADF;
return REDISMODULE_ERR; return REDISMODULE_ERR;
} }
streamIteratorStop(key->iter);
zfree(key->iter); zfree(key->iter);
key->iter = NULL; key->iter = NULL;
return REDISMODULE_OK; return REDISMODULE_OK;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment