Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBenjamin Jemlich <pcgod@users.sourceforge.net>2010-07-15 16:16:57 +0400
committerBenjamin Jemlich <pcgod@users.sourceforge.net>2010-07-20 19:31:01 +0400
commit89d30a94eabfbd43a922e6b9965b08365d7a269f (patch)
tree0316e6b2791e8d12fe8aaf56187f49726f16b705 /src
parent7208fcc51bc8aeca9dfe242eb1a8468e9aeccb0b (diff)
Fix possible fd leak in OSS code
Diffstat (limited to 'src')
-rw-r--r--src/mumble/OSS.cpp8
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);
}