You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
837 B
31 lines
837 B
7 years ago
|
autofs-5.0.7 - fix memory leak in get_dc_list()
|
||
|
|
||
|
From: Ian Kent <raven@themaw.net>
|
||
|
|
||
|
In get_dc_list() if an invalid port is found the allocated list storage
|
||
|
isn't freed on the error exit.
|
||
|
---
|
||
|
modules/dclist.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/modules/dclist.c b/modules/dclist.c
|
||
|
index d16b913..af21ce0 100644
|
||
|
--- a/modules/dclist.c
|
||
|
+++ b/modules/dclist.c
|
||
|
@@ -536,6 +536,7 @@ struct dclist *get_dc_list(unsigned int logopt, const char *uri)
|
||
|
else
|
||
|
strcat(tmp, " ");
|
||
|
|
||
|
+ list = NULL;
|
||
|
for (i = 0; i < numdcs; i++) {
|
||
|
if (i > 0)
|
||
|
strcat(tmp, " ");
|
||
|
@@ -549,6 +550,7 @@ struct dclist *get_dc_list(unsigned int logopt, const char *uri)
|
||
|
error(logopt,
|
||
|
"invalid port: %u", dcs[i].port);
|
||
|
free_srv_rrs(dcs, numdcs);
|
||
|
+ free(tmp);
|
||
|
goto out_error;
|
||
|
}
|
||
|
strcat(tmp, port);
|