diff options
author | Mark Spencer <markster@digium.com> | 2003-11-04 23:23:00 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2003-11-04 23:23:00 +0000 |
commit | d387ca777963e8907f50e8d5bc199ebd95329076 (patch) | |
tree | 54f3c02f71d030ec8a32f6cf03da392a26e8b346 /res | |
parent | fa45f2e6ba6bc1b02c3e353ff55e9ec26d718bbb (diff) |
Handle mpg123 failures without leaking fd's
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res')
-rwxr-xr-x | res/res_musiconhold.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 5ca4f5fbe..f6a3d5b01 100755 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -163,6 +163,8 @@ static int spawn_mp3(struct mohclass *class) #endif if (!files) { ast_log(LOG_WARNING, "Found no files in '%s'\n", class->dir); + close(fds[0]); + close(fds[1]); return -1; } class->pid = fork(); @@ -189,6 +191,7 @@ static int spawn_mp3(struct mohclass *class) /* Check PATH as a last-ditch effort */ execvp("mpg123", argv); ast_log(LOG_WARNING, "Exec failed: %s\n", strerror(errno)); + close(fds[1]); exit(1); } else { /* Parent */ |