summaryrefslogtreecommitdiff
path: root/src/lazyfree.c
diff options
context:
space:
mode:
authorMadelyn Olson <34459052+madolson@users.noreply.github.com>2021-04-19 22:16:27 -0700
committerGitHub <noreply@github.com>2021-04-19 22:16:27 -0700
commitc73b4ddfd96d00ed0d0fde17953ce63d78bc3777 (patch)
tree2de45f1e248ff881a03440e6b870fa173d2d2fa3 /src/lazyfree.c
parentc2aff4c74493b921b1ad6868902ba68d647cc1c8 (diff)
downloadredis-c73b4ddfd96d00ed0d0fde17953ce63d78bc3777.tar.gz
Fix memory leak when doing lazyfreeing client tracking table (#8822)
Interior rax pointers were not being freed
Diffstat (limited to 'src/lazyfree.c')
-rw-r--r--src/lazyfree.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lazyfree.c b/src/lazyfree.c
index f18b2027f..a2cf2c3ed 100644
--- a/src/lazyfree.c
+++ b/src/lazyfree.c
@@ -39,12 +39,11 @@ void lazyfreeFreeSlotsMap(void *args[]) {
atomicIncr(lazyfreed_objects,len);
}
-/* Release the rax mapping Redis Cluster keys to slots in the
- * lazyfree thread. */
+/* Release the key tracking table. */
void lazyFreeTrackingTable(void *args[]) {
rax *rt = args[0];
size_t len = rt->numele;
- raxFree(rt);
+ freeTrackingRadixTree(rt);
atomicDecr(lazyfree_objects,len);
atomicIncr(lazyfreed_objects,len);
}