summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2020-02-06 09:15:31 +0200
committerOran Agra <oran@redislabs.com>2020-02-06 09:17:39 +0200
commit7e1d5954e59ab99c572f2dccccf6843c9aad9127 (patch)
tree2eb9cc0bdf9394126426d603a8baebf559775a91
parent44ac202fbfbca4210d016c9f77df987b27c1ae4c (diff)
downloadredis-7e1d5954e59ab99c572f2dccccf6843c9aad9127.tar.gz
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 b19e78f74..fe26b3884 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;