Fix memory leak in mvccRestore
Former-commit-id: 92da1cbd0a08b66264f170a9b57ef7270f270157
This commit is contained in:
parent
483b43156e
commit
ea74c705a6
@ -48,8 +48,8 @@ endif
|
||||
USEASM?=true
|
||||
|
||||
ifneq ($(strip $(SANITIZE)),)
|
||||
CFLAGS+= -fsanitize=$(SANITIZE) -DSANITIZE
|
||||
CXXFLAGS+= -fsanitize=$(SANITIZE) -DSANITIZE
|
||||
CFLAGS+= -fsanitize=$(SANITIZE) -DSANITIZE -fno-omit-frame-pointer
|
||||
CXXFLAGS+= -fsanitize=$(SANITIZE) -DSANITIZE -fno-omit-frame-pointer
|
||||
LDFLAGS+= -fsanitize=$(SANITIZE)
|
||||
MALLOC=libc
|
||||
USEASM=false
|
||||
|
@ -5071,12 +5071,15 @@ void mvccrestoreCommand(client *c) {
|
||||
setMvccTstamp(obj, mvcc);
|
||||
|
||||
/* Create the key and set the TTL if any */
|
||||
dbMerge(c->db,key,obj,true);
|
||||
if (expire >= 0) {
|
||||
setExpire(c,c->db,key,nullptr,expire);
|
||||
if (dbMerge(c->db,key,obj,true)) {
|
||||
if (expire >= 0) {
|
||||
setExpire(c,c->db,key,nullptr,expire);
|
||||
}
|
||||
signalModifiedKey(c,c->db,key);
|
||||
notifyKeyspaceEvent(NOTIFY_GENERIC,"restore",key,c->db->id);
|
||||
} else {
|
||||
decrRefCount(obj);
|
||||
}
|
||||
signalModifiedKey(c,c->db,key);
|
||||
notifyKeyspaceEvent(NOTIFY_GENERIC,"restore",key,c->db->id);
|
||||
addReply(c,shared.ok);
|
||||
g_pserver->dirty++;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user