diff options
author | Mark Spencer <markster@digium.com> | 2004-11-17 18:16:08 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-11-17 18:16:08 +0000 |
commit | 834627669e2238da9a9ce9618954ffcacfe96f23 (patch) | |
tree | c78f67836b4ce0a23405571c6dc934ba2fd487ea /res/res_musiconhold.c | |
parent | 07b19fad72217ff674234ad9d6d4e6ac7441dabb (diff) |
Check that FD's are open before closing (bug #2858)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_musiconhold.c')
-rwxr-xr-x | res/res_musiconhold.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 2dc39a5c6..e3808da62 100755 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -224,8 +224,11 @@ static int spawn_mp3(struct mohclass *class) /* Stdout goes to pipe */ dup2(fds[1], STDOUT_FILENO); /* Close unused file descriptors */ - for (x=3;x<8192;x++) - close(x); + for (x=3;x<8192;x++) { + if (-1 != fcntl(x, F_GETFL)) { + close(x); + } + } /* Child */ chdir(class->dir); if(class->custom) { |