summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvalentino <valentino@redislabs.com>2019-01-20 16:07:55 +0200
committerMark Nunberg <mnunberg@haskalah.org>2019-02-20 09:10:10 -0500
commit847a20122f3e3c6e69179943f2d397da6712de80 (patch)
tree9e7d56d3179f6f063cb06c7e1b41f7c83577d0ad
parent58222c26f4889c3f83c453bd7ec87e387459fd0c (diff)
Fix memory leaks
-rw-r--r--adapters/libevent.h5
-rw-r--r--hiredis.c1
2 files changed, 3 insertions, 3 deletions
diff --git a/adapters/libevent.h b/adapters/libevent.h
index 9843696..5959e89 100644
--- a/adapters/libevent.h
+++ b/adapters/libevent.h
@@ -48,10 +48,10 @@ static void redisLibeventHandler(int fd, short event, void *arg) {
if (event & EV_TIMEOUT) {
redisAsyncHandleTimeout(e->context);
}
- if (e->context && (event & EV_READ)) {
+ if ((event & EV_READ) && e->context) {
redisAsyncHandleRead(e->context);
}
- if (e->context && (event & EV_WRITE)) {
+ if ((event & EV_WRITE) && e->context) {
redisAsyncHandleWrite(e->context);
}
}
@@ -107,7 +107,6 @@ static void redisLibeventSetTimeout(void *privdata, struct timeval tv) {
short flags = e->flags;
e->flags = 0;
e->tv = tv;
- event_del(e->ev);
redisLibeventUpdate(e, flags, 0);
}
diff --git a/hiredis.c b/hiredis.c
index dd499b8..9c2788a 100644
--- a/hiredis.c
+++ b/hiredis.c
@@ -618,6 +618,7 @@ void redisFree(redisContext *c) {
if (c->ssl) {
redisFreeSsl(c->ssl);
}
+ free(c);
}
int redisFreeKeepFd(redisContext *c) {