mirror of https://github.com/redis/redis.git
				
				
				
			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:
		
							parent
							
								
									ef78757e69
								
							
						
					
					
						commit
						2643c691be
					
				| 
						 | 
					@ -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) {
 | 
				
			||||||
        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;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue