summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Gottlieb <yossigo@gmail.com>2015-04-26 12:04:16 +0300
committerYossi Gottlieb <yossigo@gmail.com>2015-04-26 12:04:16 +0300
commit49c1b60bd8cbca6bbec7a171645dfeb67c1a7ddf (patch)
treef73de32392e455b3055d1307666b0017898fdb0f
parentb100fee900d0091083233aa16a4e87d80066fb59 (diff)
downloadredis-49c1b60bd8cbca6bbec7a171645dfeb67c1a7ddf.tar.gz
Fix Redis server crash when Lua command exceeds client output buffer
limit.
-rw-r--r--src/networking.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/networking.c b/src/networking.c
index 761645cb2..19032ae01 100644
--- a/src/networking.c
+++ b/src/networking.c
@@ -805,7 +805,7 @@ void freeClient(redisClient *c) {
* a context where calling freeClient() is not possible, because the client
* should be valid for the continuation of the flow of the program. */
void freeClientAsync(redisClient *c) {
- if (c->flags & REDIS_CLOSE_ASAP) return;
+ if (c->flags & REDIS_CLOSE_ASAP || c->flags & REDIS_LUA_CLIENT) return;
c->flags |= REDIS_CLOSE_ASAP;
listAddNodeTail(server.clients_to_close,c);
}