summaryrefslogtreecommitdiff
path: root/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'read.c')
-rw-r--r--read.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/read.c b/read.c
index 01fa9dc..89b5b5a 100644
--- a/read.c
+++ b/read.c
@@ -339,6 +339,13 @@ static int processLineItem(redisReader *r) {
obj = (void*)REDIS_REPLY_BOOL;
} else {
/* Type will be error or status. */
+ for (int i = 0; i < len; i++) {
+ if (p[i] == '\r' || p[i] == '\n') {
+ __redisReaderSetError(r,REDIS_ERR_PROTOCOL,
+ "Bad simple string value");
+ return REDIS_ERR;
+ }
+ }
if (r->fn && r->fn->createString)
obj = r->fn->createString(cur,p,len);
else