summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWen Hui <wen.hui.ware@gmail.com>2021-01-06 14:20:53 -0500
committerOran Agra <oran@redislabs.com>2021-01-12 16:25:37 +0200
commitf1d56c981d74ff1a23011291f14cfe270815527c (patch)
treee8ae8a862a981089ae58c9928171ee994d87060a
parentea595784f903ff50ba418931df8053e4f197ff12 (diff)
downloadredis-f1d56c981d74ff1a23011291f14cfe270815527c.tar.gz
fix memory leak in processInlineBuffer error handling code (#8295)
This code path is normally executed only when v6.0 and above replicates from v2.4 (cherry picked from commit cfcd0fa6f71af4e224c1d86be55b6b01f2288be2)
-rw-r--r--src/networking.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/networking.c b/src/networking.c
index 65a67021f..dd2ca1aae 100644
--- a/src/networking.c
+++ b/src/networking.c
@@ -1634,6 +1634,7 @@ int processInlineBuffer(client *c) {
* However the is an exception: masters may send us just a newline
* to keep the connection active. */
if (querylen != 0 && c->flags & CLIENT_MASTER) {
+ sdsfreesplitres(argv,argc);
serverLog(LL_WARNING,"WARNING: Receiving inline protocol from master, master stream corruption? Closing the master connection and discarding the cached master.");
setProtocolError("Master using the inline protocol. Desync?",c);
return C_ERR;