]> code.delx.au - pulseaudio/commitdiff
protocol-native: Fix a crash
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Tue, 4 Feb 2014 19:28:44 +0000 (21:28 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Tue, 4 Feb 2014 19:32:16 +0000 (21:32 +0200)
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
src/pulsecore/protocol-native.c

index 7361a8941b3c44291b86e840b97e303cd4806001..41b4b505a2233245afb9f4b6442bfb8a4f0847d1 100644 (file)
@@ -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.",