diff --git a/src/networking.c b/src/networking.c index 8f165be79..e4f5d709d 100644 --- a/src/networking.c +++ b/src/networking.c @@ -1268,6 +1268,9 @@ void processInputBuffer(client *c) { /* Only reset the client when the command was executed. */ if (processCommand(c) == C_OK) resetClient(c); + /* freeMemoryIfNeeded may flush slave output buffers. This may result + * into a slave, that may be the active client, to be freed. */ + if (server.current_client == NULL) break; } } server.current_client = NULL;