Memory leak fixed: release client's bpop->keys dictionary.

Refactoring performed after issue #801 resolution (see commit
b775d5c3e9b4184c931fe2250a08ff1c3fb3b080) 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.
This commit is contained in:
antirez 2012-12-03 12:12:53 +01:00
parent 1272161bdd
commit 0200e4f6ef

View File

@ -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);