Skip to content

Commit

Permalink
increase read depth by one, would allow ruby redis client to read fro…
Browse files Browse the repository at this point in the history
…m slowlog
  • Loading branch information
mrb committed Dec 2, 2011
1 parent 4aa3179 commit 52a29a1
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
6 changes: 3 additions & 3 deletions hiredis.c
Original file line number Diff line number Diff line change
Expand Up @@ -446,10 +446,10 @@ static int processMultiBulkItem(redisReader *r) {
long elements;
int root = 0;

/* Set error for nested multi bulks with depth > 1 */
if (r->ridx == 2) {
/* Set error for nested multi bulks with depth > 2 */
if (r->ridx == 3) {
__redisReaderSetError(r,REDIS_ERR_PROTOCOL,
"No support for nested multi bulk replies with depth > 1");
"No support for nested multi bulk replies with depth > 2");
return REDIS_ERR;
}

Expand Down
2 changes: 1 addition & 1 deletion hiredis.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ typedef struct redisReader {
size_t pos; /* Buffer cursor */
size_t len; /* Buffer length */

redisReadTask rstack[3];
redisReadTask rstack[4];
int ridx; /* Index of current read task */
void *reply; /* Temporary reply pointer */

Expand Down
3 changes: 2 additions & 1 deletion test.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,11 +225,12 @@ static void test_reply_reader(void) {
strcasecmp(reader->errstr,"Protocol error, got \"@\" as reply type byte") == 0);
redisReaderFree(reader);

test("Set error on nested multi bulks with depth > 1: ");
test("Set error on nested multi bulks with depth > 2: ");
reader = redisReaderCreate();
redisReaderFeed(reader,(char*)"*1\r\n",4);
redisReaderFeed(reader,(char*)"*1\r\n",4);
redisReaderFeed(reader,(char*)"*1\r\n",4);
redisReaderFeed(reader,(char*)"*1\r\n",4);
ret = redisReaderGetReply(reader,NULL);
test_cond(ret == REDIS_ERR &&
strncasecmp(reader->errstr,"No support for",14) == 0);
Expand Down

0 comments on commit 52a29a1

Please sign in to comment.