diff --git a/apps/app_festival.c b/apps/app_festival.c index 3e2e020b8340288fcf1c5086b9a217c767162a7d..715437e7e3564e53766293d412ec10d9ff9264e7 100644 --- a/apps/app_festival.c +++ b/apps/app_festival.c @@ -403,6 +403,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); @@ -414,6 +415,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; }