Fixed a bug in HSET, a memory leak, and a theoretical bug in dict.c

This commit is contained in:
antirez
2010-03-17 02:00:03 +01:00
parent b1d9c91ca8
commit 2069d06a0b
2 changed files with 9 additions and 3 deletions

View File

@ -5849,7 +5849,7 @@ static void hsetCommand(redisClient *c) {
tryObjectEncoding(c->argv[2]);
/* note that c->argv[3] is already encoded, as the latest arg
* of a bulk command is always integer encoded if possible. */
if (dictAdd(o->ptr,c->argv[2],c->argv[3]) == DICT_OK) {
if (dictReplace(o->ptr,c->argv[2],c->argv[3])) {
incrRefCount(c->argv[2]);
} else {
update = 1;