diff options
author | Benjamin Jemlich <pcgod@users.sourceforge.net> | 2010-07-15 16:16:57 +0400 |
---|---|---|
committer | Benjamin Jemlich <pcgod@users.sourceforge.net> | 2010-07-20 19:31:01 +0400 |
commit | 89d30a94eabfbd43a922e6b9965b08365d7a269f (patch) | |
tree | 0316e6b2791e8d12fe8aaf56187f49726f16b705 /src | |
parent | 7208fcc51bc8aeca9dfe242eb1a8468e9aeccb0b (diff) |
Fix possible fd leak in OSS code
Diffstat (limited to 'src')
-rw-r--r-- | src/mumble/OSS.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mumble/OSS.cpp b/src/mumble/OSS.cpp index 8d21abadf..6d6380a1b 100644 --- a/src/mumble/OSS.cpp +++ b/src/mumble/OSS.cpp @@ -220,20 +220,20 @@ void OSSInput::run() { ival = AFMT_S16_NE; if ((ioctl(fd, SNDCTL_DSP_SETFMT, &ival) == -1) || (ival != AFMT_S16_NE)) { qWarning("OSSInput: Failed to set sound format"); - return; + goto out; } ival = 1; if ((ioctl(fd, SNDCTL_DSP_CHANNELS, &ival) == -1)) { qWarning("OSSInput: Failed to set mono mode"); - return; + goto out; } iMicChannels = ival; ival = SAMPLE_RATE; if (ioctl(fd, SNDCTL_DSP_SPEED, &ival) == -1) { qWarning("OSSInput: Failed to set speed"); - return; + goto out; } iMicFreq = ival; @@ -256,6 +256,8 @@ void OSSInput::run() { qWarning("OSSInput: Releasing."); ioctl(fd, SNDCTL_DSP_RESET, NULL); + +out: close(fd); } |