From 963002d71e64ffd1491b398eea3f57a34d928464 Mon Sep 17 00:00:00 2001 From: "zhaozhao.zz" Date: Wed, 13 Jun 2018 20:35:40 +0800 Subject: [PATCH] optimize reply list memory usage --- src/networking.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/networking.c b/src/networking.c index 00558974..02e77307 100644 --- a/src/networking.c +++ b/src/networking.c @@ -247,7 +247,7 @@ void _addReplyStringToList(client *c, const char *s, size_t len) { /* Append to this object when possible. If tail == NULL it was * set via addDeferredMultiBulkLength(). */ - if (tail && sdslen(tail)+len <= PROTO_REPLY_CHUNK_BYTES) { + if (tail && (sdsavail(tail) >= len || sdslen(tail)+len <= PROTO_REPLY_CHUNK_BYTES)) { tail = sdscatlen(tail,s,len); listNodeValue(ln) = tail; c->reply_bytes += len;