aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-01-16 16:00:12 +0100
committerMax Kellermann <max@duempel.org>2009-01-16 17:11:18 +0100
commitb12b5130c99603f22534aba31615386b5fc40817 (patch)
tree7caaed3c17795d51d8e45bba7f1e8da03873e633
parentb533307d6f0fd4bf775ae24fea9d89e178eec2fc (diff)
downloadmpd-b12b5130c99603f22534aba31615386b5fc40817.tar.gz
mpd-b12b5130c99603f22534aba31615386b5fc40817.tar.xz
mpd-b12b5130c99603f22534aba31615386b5fc40817.zip
mixer: check param==NULL in the alsa and oss mixer code
When MPD starts without audio output configuration, the "param" variable is NULL. This triggers a segmentation fault in both mixer plugins.
-rw-r--r--src/mixer/alsa_mixer.c3
-rw-r--r--src/mixer/oss_mixer.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mixer/alsa_mixer.c b/src/mixer/alsa_mixer.c
index 86a9ae86e..201cb6f20 100644
--- a/src/mixer/alsa_mixer.c
+++ b/src/mixer/alsa_mixer.c
@@ -49,6 +49,9 @@ alsa_mixer_configure(struct mixer_data *data, ConfigParam *param)
struct alsa_mixer *am = (struct alsa_mixer *)data;
BlockParam *bp;
+ if (param == NULL)
+ return;
+
if ((bp = getBlockParam(param, "mixer_device"))) {
if (am->device)
g_free(am->device);
diff --git a/src/mixer/oss_mixer.c b/src/mixer/oss_mixer.c
index 75f1f5a0b..3f4b290d9 100644
--- a/src/mixer/oss_mixer.c
+++ b/src/mixer/oss_mixer.c
@@ -52,6 +52,10 @@ oss_mixer_configure(struct mixer_data *data, ConfigParam *param)
{
struct oss_mixer *om = (struct oss_mixer *) data;
BlockParam *bp;
+
+ if (param == NULL)
+ return;
+
bp = getBlockParam(param, "mixer_device");
if (bp) {
if (om->device)