diff options
author | Yaniv Kamay <ykamay@redhat.com> | 2009-07-12 21:12:20 +0300 |
---|---|---|
committer | Yaniv Kamay <ykamay@redhat.com> | 2009-09-19 22:22:31 +0300 |
commit | 96e43a71aff1c5fcb3506dee3edc89acead708ca (patch) | |
tree | 7fe9c574f17d0198bed8cb0291afdaa6b940d670 | |
parent | 8176dbe8b32625a54583e695799bc8c8b9bc86eb (diff) |
spice: vdi audio: fix unsafe access to audio plug
-rw-r--r-- | qemu/audio/vd_interface_audio.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/qemu/audio/vd_interface_audio.c b/qemu/audio/vd_interface_audio.c index b8135de3..1de84489 100644 --- a/qemu/audio/vd_interface_audio.c +++ b/qemu/audio/vd_interface_audio.c @@ -397,6 +397,7 @@ static int line_out_run(HWVoiceOut *hw) len = audio_MIN(len, driver.play_avail); hw->clip(driver.play_now, hw->mix_buf + rpos, len); if (!(driver.play_avail -= len)) { + ASSERT(driver.play_plug); driver.play_plug->put_frame(driver.play_plug, driver.play_frame); driver.play_frame = driver.play_now = NULL; @@ -436,7 +437,10 @@ static int line_out_ctl(HWVoiceOut *hw, int cmd, ...) driver.play_now = driver.play_frame = NULL; driver.play_plug->put_frame(driver.play_plug, frame); } - driver.play_plug->stop(driver.play_plug); + + if (driver.play_plug) { + driver.play_plug->stop(driver.play_plug); + } } break; } |