From: malc Date: Sun, 8 Jun 2008 04:27:56 +0000 (+0000) Subject: Check the returned audio_buf_info fields X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=29ddf27b72960d6e6b115cd69812c9c57b2a7b13;p=qemu.git 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 --- 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;