Fix memleak in bitfieldCommand
This commit is contained in:
parent
c24e32041b
commit
d490752d58
10
src/bitops.c
10
src/bitops.c
@ -994,12 +994,18 @@ void bitfieldCommand(client *c) {
|
|||||||
/* Lookup for read is ok if key doesn't exit, but errors
|
/* Lookup for read is ok if key doesn't exit, but errors
|
||||||
* if it's not a string. */
|
* if it's not a string. */
|
||||||
o = lookupKeyRead(c->db,c->argv[1]);
|
o = lookupKeyRead(c->db,c->argv[1]);
|
||||||
if (o != NULL && checkType(c,o,OBJ_STRING)) return;
|
if (o != NULL && checkType(c,o,OBJ_STRING)) {
|
||||||
|
zfree(ops);
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Lookup by making room up to the farest bit reached by
|
/* Lookup by making room up to the farest bit reached by
|
||||||
* this operation. */
|
* this operation. */
|
||||||
if ((o = lookupStringForBitCommand(c,
|
if ((o = lookupStringForBitCommand(c,
|
||||||
highest_write_offset)) == NULL) return;
|
highest_write_offset)) == NULL) {
|
||||||
|
zfree(ops);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addReplyArrayLen(c,numops);
|
addReplyArrayLen(c,numops);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user