summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/t_zset.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/t_zset.c b/src/t_zset.c
index 858085a05..5b848a1b9 100644
--- a/src/t_zset.c
+++ b/src/t_zset.c
@@ -2267,6 +2267,7 @@ static void zdiffAlgorithm1(zsetopsrc *src, long setnum, zset *dstzset, size_t *
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 *
dictAdd(dstzset->dict,tmp,&znode->score);
cardinality++;
} else {
- tmp = zuiNewSdsFromValue(&zval);
+ tmp = zuiSdsFromValue(&zval);
if (zsetRemoveFromSkiplist(dstzset, tmp)) {
cardinality--;
}
@@ -2314,6 +2315,7 @@ static void zdiffAlgorithm2(zsetopsrc *src, long setnum, zset *dstzset, size_t *
* of elements will have no effect. */
if (cardinality == 0) break;
}
+ zuiClearIterator(&src[j]);
if (cardinality == 0) break;
}