From: antirez Date: Mon, 3 Dec 2012 11:12:53 +0000 (+0100) Subject: Memory leak fixed: release client's bpop->keys dictionary. X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/984f6edf0ae894b895663df267ec60d4d940efff Memory leak fixed: release client's bpop->keys dictionary. Refactoring performed after issue #801 resolution (see commit 2f87cf8b0162bd9d78c3a89860c0971cd71d39db) introduced a memory leak that is fixed by this commit. I simply forgot to free the new allocated dictionary in the client structure trusting the output of "make test" on OSX. However due to changes in the "leaks" utility the test was no longer testing memory leaks. This problem was also fixed. Fortunately the CI test running at ci.redis.io spotted the bug in the valgrind run. The leak never ended into a stable release. --- diff --git a/src/networking.c b/src/networking.c index a352ba76..4365bc8e 100644 --- a/src/networking.c +++ b/src/networking.c @@ -605,6 +605,7 @@ void freeClient(redisClient *c) { c->querybuf = NULL; if (c->flags & REDIS_BLOCKED) unblockClientWaitingData(c); + dictRelease(c->bpop.keys); /* UNWATCH all the keys */ unwatchAllKeys(c);