From 29ddf27b72960d6e6b115cd69812c9c57b2a7b13 Mon Sep 17 00:00:00 2001 From: malc Date: Sun, 8 Jun 2008 04:27:56 +0000 Subject: Check the returned audio_buf_info fields At least on one system zero is returned in either fragsize or fragstotal (reported by Dave Scott), this results in an audio_calloc failing the audio_bug check and another ominous error message. Fail early and blame the system. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4699 c046a42c-6fe2-441c-8c8c-71466251a162 --- audio/ossaudio.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'audio/ossaudio.c') diff --git a/audio/ossaudio.c b/audio/ossaudio.c index 2a300c21de..a29b4bc172 100644 --- a/audio/ossaudio.c +++ b/audio/ossaudio.c @@ -254,6 +254,12 @@ static int oss_open (int in, struct oss_params *req, goto err; } + if (!abinfo.fragstotal || !abinfo.fragsize) { + AUD_log (AUDIO_CAP, "Returned bogus buffer information(%d, %d) for %s\n", + abinfo.fragstotal, abinfo.fragsize, typ); + goto err; + } + obt->fmt = fmt; obt->nchannels = nchannels; obt->freq = freq; -- cgit v1.2.1