qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ossaudio: fix out of bounds write
@ 2020-07-07 18:08 Volker Rümelin
  2020-07-08  8:30 ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 5+ messages in thread
From: Volker Rümelin @ 2020-07-07 18:08 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: QEMU, Zoltán Kővágó

In function oss_read() a read error currently does not exit the
read loop. With no data to read the variable pos will quickly
underflow and a subsequent successful read overwrites memory
outside the buffer. This patch adds the missing break statement
to the error path of the function.

To reproduce start qemu with -audiodev oss,id=audio0 and in the
guest start audio recording. After some time this will trigger
an exception.

Fixes: 3ba4066d08 "ossaudio: port to the new audio backend api"

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
---
 audio/ossaudio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/audio/ossaudio.c b/audio/ossaudio.c
index f88d076ec2..a7dcaa31ad 100644
--- a/audio/ossaudio.c
+++ b/audio/ossaudio.c
@@ -691,6 +691,7 @@ static size_t oss_read(HWVoiceIn *hw, void *buf, size_t len)
                            len, dst);
                 break;
             }
+            break;
         }
 
         pos += nread;
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-07-09 12:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-07 18:08 [PATCH] ossaudio: fix out of bounds write Volker Rümelin
2020-07-08  8:30 ` Philippe Mathieu-Daudé
2020-07-08 20:09   ` Volker Rümelin
2020-07-09  1:08   ` BALATON Zoltan
2020-07-09 12:55   ` Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).