summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-12-20 01:53:17 -0500
committerCorey Farrell <git@cfware.com>2017-12-20 10:59:50 -0600
commit6b3188fb8cecf576268b7fcfacb86982398c19a9 (patch)
treeafa09da8eaa67be674ef440aa199d1bb70f6d37d
parent616659d62012a1dc5eb69376f35d2c89fceaf6ea (diff)
app_festival: Fix fd leak on connection failure.
Change-Id: If5efaddcf735ff7d17e55c36cc1388946cee9e0f
-rw-r--r--apps/app_festival.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/app_festival.c b/apps/app_festival.c
index 7df8caf8a..117bc1aeb 100644
--- a/apps/app_festival.c
+++ b/apps/app_festival.c
@@ -405,6 +405,7 @@ static int festival_exec(struct ast_channel *chan, const char *vdata)
if (serverhost == NULL) {
ast_log(LOG_WARNING, "festival_client: gethostbyname failed\n");
ast_config_destroy(cfg);
+ close(fd);
return -1;
}
memmove(&serv_addr.sin_addr, serverhost->h_addr, serverhost->h_length);
@@ -416,6 +417,7 @@ static int festival_exec(struct ast_channel *chan, const char *vdata)
if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) != 0) {
ast_log(LOG_WARNING, "festival_client: connect to server failed\n");
ast_config_destroy(cfg);
+ close(fd);
return -1;
}