read: Add additional RESP3 nil validation

RESP3 nil should consist of "_\r\n" and nothing else.
master
Alex Smith 2020-10-15 17:54:58 -04:00 committed by michael-grunder
parent 96e8ea6110
commit d8899fbc19
1 changed files with 6 additions and 0 deletions

6
read.c
View File

@ -320,6 +320,12 @@ static int processLineItem(redisReader *r) {
obj = (void*)REDIS_REPLY_DOUBLE;
}
} else if (cur->type == REDIS_REPLY_NIL) {
if (len != 0) {
__redisReaderSetError(r,REDIS_ERR_PROTOCOL,
"Bad nil value");
return REDIS_ERR;
}
if (r->fn && r->fn->createNil)
obj = r->fn->createNil(cur);
else