From fc16173bb526932b2cd15d4d2a56442d2e39ffd3 Mon Sep 17 00:00:00 2001 From: Xiao Chuanjiao Date: Wed, 7 May 2025 20:47:28 +0800 Subject: [PATCH] fix(valgrind error): access memory address after it's free'd --- src/scan_algorithm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scan_algorithm.c b/src/scan_algorithm.c index 5892dab..906e916 100644 --- a/src/scan_algorithm.c +++ b/src/scan_algorithm.c @@ -240,6 +240,7 @@ void passiveExpire(RedisModuleCtx *ctx, int dbid, RedisModuleString *key) { ln = tair_hash_obj->expire_index->header->level[0].forward; while (ln && keys_per_loop) { field = ln->member; + ln = ln->level[0].forward; if (fieldExpireIfNeeded(ctx, dbid, key, tair_hash_obj, field, 0)) { g_expire_algorithm.stat_passive_expired_field[dbid]++; start_index++; @@ -250,7 +251,6 @@ void passiveExpire(RedisModuleCtx *ctx, int dbid, RedisModuleString *key) { } else { break; } - ln = ln->level[0].forward; } if (may_delkey) {