From 56e52b69feebb11931cbe8162ce1749909b7ff30 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Wed, 22 Sep 2010 18:07:52 +0200 Subject: [PATCH] Update rdb.c to properly work with new memory strategy for sorted sets --- src/rdb.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/rdb.c b/src/rdb.c index c15fc6f2..a401a5b9 100644 --- a/src/rdb.c +++ b/src/rdb.c @@ -730,13 +730,14 @@ robj *rdbLoadObject(int type, FILE *fp) { /* Load every single element of the list/set */ while(zsetlen--) { robj *ele; - double *score = zmalloc(sizeof(double)); + double score; + zskiplistNode *znode; if ((ele = rdbLoadEncodedStringObject(fp)) == NULL) return NULL; ele = tryObjectEncoding(ele); - if (rdbLoadDoubleValue(fp,score) == -1) return NULL; - dictAdd(zs->dict,ele,score); - zslInsert(zs->zsl,*score,ele); + if (rdbLoadDoubleValue(fp,&score) == -1) return NULL; + znode = zslInsert(zs->zsl,score,ele); + dictAdd(zs->dict,ele,&znode->score); incrRefCount(ele); /* added to skiplist */ } } else if (type == REDIS_HASH) {