Unverified Commit 9812e889 authored by Oran Agra's avatar Oran Agra Committed by GitHub
Browse files

Fix memory leaks in newly added ZDIFF (#8056)

parent c1aaad06
...@@ -2267,6 +2267,7 @@ static void zdiffAlgorithm1(zsetopsrc *src, long setnum, zset *dstzset, size_t * ...@@ -2267,6 +2267,7 @@ static void zdiffAlgorithm1(zsetopsrc *src, long setnum, zset *dstzset, size_t *
if (sdslen(tmp) > *maxelelen) *maxelelen = sdslen(tmp); if (sdslen(tmp) > *maxelelen) *maxelelen = sdslen(tmp);
} }
} }
zuiClearIterator(&src[0]);
} }
...@@ -2304,7 +2305,7 @@ static void zdiffAlgorithm2(zsetopsrc *src, long setnum, zset *dstzset, size_t * ...@@ -2304,7 +2305,7 @@ static void zdiffAlgorithm2(zsetopsrc *src, long setnum, zset *dstzset, size_t *
dictAdd(dstzset->dict,tmp,&znode->score); dictAdd(dstzset->dict,tmp,&znode->score);
cardinality++; cardinality++;
} else { } else {
tmp = zuiNewSdsFromValue(&zval); tmp = zuiSdsFromValue(&zval);
if (zsetRemoveFromSkiplist(dstzset, tmp)) { if (zsetRemoveFromSkiplist(dstzset, tmp)) {
cardinality--; cardinality--;
} }
...@@ -2314,6 +2315,7 @@ static void zdiffAlgorithm2(zsetopsrc *src, long setnum, zset *dstzset, size_t * ...@@ -2314,6 +2315,7 @@ static void zdiffAlgorithm2(zsetopsrc *src, long setnum, zset *dstzset, size_t *
* of elements will have no effect. */ * of elements will have no effect. */
if (cardinality == 0) break; if (cardinality == 0) break;
} }
zuiClearIterator(&src[j]);
if (cardinality == 0) break; if (cardinality == 0) break;
} }
......
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