summaryrefslogtreecommitdiff
path: root/deps/hiredis
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2019-09-23 17:41:04 +0200
committerantirez <antirez@gmail.com>2019-09-23 17:41:04 +0200
commit5e399d5d335b2d4464621cbf6a3e2568dd779178 (patch)
treeaa4c15c2300000bd1ccf915c9f6d962ee1046640 /deps/hiredis
parent264708427b87b5c45f8ce5ee9d95bb99ce937732 (diff)
downloadredis-5e399d5d335b2d4464621cbf6a3e2568dd779178.tar.gz
hiredis udpated (RESP3 WIP).
Diffstat (limited to 'deps/hiredis')
-rw-r--r--deps/hiredis/hiredis.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/deps/hiredis/hiredis.c b/deps/hiredis/hiredis.c
index 282595bdb..abd94c01d 100644
--- a/deps/hiredis/hiredis.c
+++ b/deps/hiredis/hiredis.c
@@ -128,15 +128,16 @@ static void *createStringObject(const redisReadTask *task, char *str, size_t len
/* Copy string value */
if (task->type == REDIS_REPLY_VERB) {
- buf = malloc(len+4+1); /* Skip 4 bytes of verbatim type header. */
+ buf = malloc(len-4+1); /* Skip 4 bytes of verbatim type header. */
if (buf == NULL) {
freeReplyObject(r);
return NULL;
}
- memcpy(r->vtype,buf,3);
+ memcpy(r->vtype,str,3);
r->vtype[3] = '\0';
- memcpy(buf+4,str,len-4);
+ memcpy(buf,str+4,len-4);
buf[len-4] = '\0';
+ r->len = len-4;
} else {
buf = malloc(len+1);
if (buf == NULL) {
@@ -145,9 +146,9 @@ static void *createStringObject(const redisReadTask *task, char *str, size_t len
}
memcpy(buf,str,len);
buf[len] = '\0';
+ r->len = len;
}
r->str = buf;
- r->len = len;
if (task->parent) {
parent = task->parent->obj;