From 7f1bb22ef3f77c940e6331512eeaddfdd1703be3 Mon Sep 17 00:00:00 2001 From: deep Date: Fri, 28 Oct 2016 19:47:29 +0800 Subject: [PATCH] fix a bug for quicklistDup() function --- src/quicklist.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/quicklist.c b/src/quicklist.c index 9cb05252..c8b72743 100644 --- a/src/quicklist.c +++ b/src/quicklist.c @@ -1192,12 +1192,12 @@ quicklist *quicklistDup(quicklist *orig) { current = current->next) { quicklistNode *node = quicklistCreateNode(); - if (node->encoding == QUICKLIST_NODE_ENCODING_LZF) { - quicklistLZF *lzf = (quicklistLZF *)node->zl; + if (current->encoding == QUICKLIST_NODE_ENCODING_LZF) { + quicklistLZF *lzf = (quicklistLZF *)current->zl; size_t lzf_sz = sizeof(*lzf) + lzf->sz; node->zl = zmalloc(lzf_sz); memcpy(node->zl, current->zl, lzf_sz); - } else if (node->encoding == QUICKLIST_NODE_ENCODING_RAW) { + } else if (current->encoding == QUICKLIST_NODE_ENCODING_RAW) { node->zl = zmalloc(current->sz); memcpy(node->zl, current->zl, current->sz); }