summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>2014-02-04 21:28:44 +0200
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>2014-02-04 21:32:16 +0200
commit7297feb50bde72f8c148899a3fbec0c9cd13a8e4 (patch)
treeebaa9162da7d54613780c64ae7b77d04f543a764
parenta64eead8767932141b2ee54a6c689d7c45409705 (diff)
protocol-native: Fix a crash
Without this check pa_source_output_set_volume() crashes if so->volume_writable is false. The same check already exists for sink inputs. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74529
-rw-r--r--src/pulsecore/protocol-native.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index 7361a894..41b4b505 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -3785,6 +3785,7 @@ static void command_set_volume(
pa_strnull(pa_proplist_gets(si->proplist, PA_PROP_MEDIA_NAME)));
pa_sink_input_set_volume(si, &volume, true, true);
} else if (so) {
+ CHECK_VALIDITY(c->pstream, so->volume_writable, tag, PA_ERR_BADSTATE);
CHECK_VALIDITY(c->pstream, volume.channels == 1 || pa_cvolume_compatible(&volume, &so->sample_spec), tag, PA_ERR_INVALID);
pa_log_debug("Client %s changes volume of source output %s.",