[Spice-devel] [spice-server 10/17] sound: Add sanity checks in snd_{playback, record}_send

Christophe Fergeau cfergeau at redhat.com
Wed Jan 11 08:48:24 UTC 2017


Filter out commands which should not happen. Should it be a
g_warn_if_fail() or such instead?

Based on a patch from Frediano Ziglio <fziglio at redhat.com>

Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
---
 server/sound.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/server/sound.c b/server/sound.c
index 7941ea2..d45e4b9 100644
--- a/server/sound.c
+++ b/server/sound.c
@@ -851,6 +851,9 @@ static void snd_playback_send(void* data)
         return;
     }
 
+    client->command &= SND_PLAYBACK_MODE_MASK|SND_PLAYBACK_PCM_MASK|
+                       SND_CTRL_MASK|SND_VOLUME_MUTE_MASK|
+                       SND_MIGRATE_MASK|SND_PLAYBACK_LATENCY_MASK;
     while (client->command) {
         if (client->command & SND_PLAYBACK_MODE_MASK) {
             if (!playback_send_mode(playback_client)) {
@@ -910,6 +913,7 @@ static void snd_record_send(void* data)
         return;
     }
 
+    client->command &= SND_CTRL_MASK|SND_VOLUME_MUTE_MASK|SND_MIGRATE_MASK;
     while (client->command) {
         if (client->command & SND_CTRL_MASK) {
             if (!snd_record_send_ctl(record_client)) {
-- 
2.9.3



More information about the Spice-devel mailing list