Merge pull request #6844 from oranagra/bind_config_leak

Memory leak when bind config is provided twice
This commit is contained in:
Salvatore Sanfilippo 2020-02-06 10:33:40 +01:00 committed by GitHub
commit 4aafdb185a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -349,6 +349,10 @@ void loadServerConfigFromString(char *config) {
if (addresses > CONFIG_BINDADDR_MAX) { if (addresses > CONFIG_BINDADDR_MAX) {
err = "Too many bind addresses specified"; goto loaderr; 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++) for (j = 0; j < addresses; j++)
server.bindaddr[j] = zstrdup(argv[j+1]); server.bindaddr[j] = zstrdup(argv[j+1]);
server.bindaddr_count = addresses; server.bindaddr_count = addresses;