Commit c4433d2a authored by oranagra's avatar oranagra
Browse files

fix crash in BITFIELD GET on non existing key or wrong type see #3259

this was a bug in the recent refactoring: bee963c4
parent 8c4f4d12
...@@ -1049,12 +1049,14 @@ void bitfieldCommand(client *c) { ...@@ -1049,12 +1049,14 @@ void bitfieldCommand(client *c) {
} else { } else {
/* GET */ /* GET */
unsigned char buf[9]; unsigned char buf[9];
long strlen; long strlen = 0;
unsigned char *src = NULL; unsigned char *src = NULL;
char llbuf[LONG_STR_SIZE]; char llbuf[LONG_STR_SIZE];
o = lookupKeyRead(c->db,c->argv[1]); if ((o = lookupKeyRead(c->db,c->argv[1])) != NULL) {
src = getObjectReadOnlyString(o,&strlen,llbuf); if (checkType(c,o,OBJ_STRING)) continue;
src = getObjectReadOnlyString(o,&strlen,llbuf);
}
/* For GET we use a trick: before executing the operation /* For GET we use a trick: before executing the operation
* copy up to 9 bytes to a local buffer, so that we can easily * copy up to 9 bytes to a local buffer, so that we can easily
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment