From cb4e2ee9e784f23bbef1bb57c6c332dd3d2472bd Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 23 Apr 2014 10:19:43 +0200 Subject: [PATCH] Missing return REDIS_ERR added to processMultibulkBuffer(). When we set a protocol error we should return with REDIS_ERR to let the caller know it should stop processing the client. Bug found in a code auditing related to issue #1699. --- src/networking.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/networking.c b/src/networking.c index 9e3e4a21f..c9d211f38 100644 --- a/src/networking.c +++ b/src/networking.c @@ -1000,8 +1000,10 @@ int processMultibulkBuffer(redisClient *c) { newline = strchr(c->querybuf+pos,'\r'); if (newline == NULL) { if (sdslen(c->querybuf) > REDIS_INLINE_MAX_SIZE) { - addReplyError(c,"Protocol error: too big bulk count string"); + addReplyError(c, + "Protocol error: too big bulk count string"); setProtocolError(c,0); + return REDIS_ERR; } break; }