diff options
author | michael-grunder <michael.grunder@gmail.com> | 2019-12-12 14:40:50 -0800 |
---|---|---|
committer | michael-grunder <michael.grunder@gmail.com> | 2019-12-12 14:40:50 -0800 |
commit | ac0b186aa3ec12eb1730f2f58b702c30d3ed5789 (patch) | |
tree | e003d33cf6f7465502d802c90f40e2c20d06c3d9 /hiredis.c | |
parent | b2d1ad64d03ea237e18f26fc294af87180b70d63 (diff) |
Free the reply in redisGetReply when passed NULL
We currently perform a NULL check in redisGetReply and don't push the
reply back to the caller, but we don't free any reply meaning that this
will leak memory:
redisGetReply(context, NULL);
This change simply frees the reply if we were passed NULL.
Addresses #740
Diffstat (limited to 'hiredis.c')
-rw-r--r-- | hiredis.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -945,8 +945,13 @@ int redisGetReply(redisContext *c, void **reply) { } while (aux == NULL); } - /* Set reply object */ - if (reply != NULL) *reply = aux; + /* Set reply or free it if we were passed NULL */ + if (reply != NULL) { + *reply = aux; + } else { + freeReplyObject(aux); + } + return REDIS_OK; } |