summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalvatore Sanfilippo <antirez@gmail.com>2020-02-06 10:33:40 +0100
committerGitHub <noreply@github.com>2020-02-06 10:33:40 +0100
commit4aafdb185ae4840a233338988728caa8cf5624c9 (patch)
treeed62c69a9c0c7147d5c488b1d8e396083994c1be
parentbe520829b84a60338c3a672b9c14c67aab3076d9 (diff)
parent7e1d5954e59ab99c572f2dccccf6843c9aad9127 (diff)
downloadredis-4aafdb185ae4840a233338988728caa8cf5624c9.tar.gz
Merge pull request #6844 from oranagra/bind_config_leak
Memory leak when bind config is provided twice
-rw-r--r--src/config.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 173a90909..9bb8f79ab 100644
--- a/src/config.c
+++ b/src/config.c
@@ -349,6 +349,10 @@ void loadServerConfigFromString(char *config) {
if (addresses > CONFIG_BINDADDR_MAX) {
err = "Too many bind addresses specified"; goto loaderr;
}
+ /* Free old bind addresses */
+ for (j = 0; j < server.bindaddr_count; j++) {
+ zfree(server.bindaddr[j]);
+ }
for (j = 0; j < addresses; j++)
server.bindaddr[j] = zstrdup(argv[j+1]);
server.bindaddr_count = addresses;