mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 09:17:20 +00:00
Return proper error on requests with an unbalanced number of quotes.
This commit is contained in:
parent
c590549e40
commit
6e70c01148
@ -884,6 +884,11 @@ int processInlineBuffer(redisClient *c) {
|
|||||||
aux = sdsnewlen(c->querybuf,querylen);
|
aux = sdsnewlen(c->querybuf,querylen);
|
||||||
argv = sdssplitargs(aux,&argc);
|
argv = sdssplitargs(aux,&argc);
|
||||||
sdsfree(aux);
|
sdsfree(aux);
|
||||||
|
if (argv == NULL) {
|
||||||
|
addReplyError(c,"Protocol error: unbalanced quotes in request");
|
||||||
|
setProtocolError(c,0);
|
||||||
|
return REDIS_ERR;
|
||||||
|
}
|
||||||
|
|
||||||
/* Leave data after the first line of the query in the buffer */
|
/* Leave data after the first line of the query in the buffer */
|
||||||
sdsrange(c->querybuf,querylen+2,-1);
|
sdsrange(c->querybuf,querylen+2,-1);
|
||||||
|
@ -60,6 +60,14 @@ start_server {tags {"protocol"}} {
|
|||||||
assert_error "*wrong*arguments*ping*" {r ping x y z}
|
assert_error "*wrong*arguments*ping*" {r ping x y z}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "Unbalanced number of quotes" {
|
||||||
|
reconnect
|
||||||
|
r write "set \"\"\"test-key\"\"\" test-value\r\n"
|
||||||
|
r write "ping\r\n"
|
||||||
|
r flush
|
||||||
|
assert_error "*unbalanced*" {r read}
|
||||||
|
}
|
||||||
|
|
||||||
set c 0
|
set c 0
|
||||||
foreach seq [list "\x00" "*\x00" "$\x00"] {
|
foreach seq [list "\x00" "*\x00" "$\x00"] {
|
||||||
incr c
|
incr c
|
||||||
|
Loading…
Reference in New Issue
Block a user