diff options
author | antirez <antirez@gmail.com> | 2019-09-23 17:41:04 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2019-09-23 17:41:04 +0200 |
commit | 5e399d5d335b2d4464621cbf6a3e2568dd779178 (patch) | |
tree | aa4c15c2300000bd1ccf915c9f6d962ee1046640 /deps/hiredis/hiredis.c | |
parent | 264708427b87b5c45f8ce5ee9d95bb99ce937732 (diff) | |
download | redis-5e399d5d335b2d4464621cbf6a3e2568dd779178.tar.gz |
hiredis udpated (RESP3 WIP).
Diffstat (limited to 'deps/hiredis/hiredis.c')
-rw-r--r-- | deps/hiredis/hiredis.c | 9 |
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; |