From fb11a838eb33a9647a9609447762c9b5a8b1a832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Thu, 4 Dec 2008 20:36:41 +0000 Subject: [PATCH] playback: sanity check for pcmbuf_init() requirement (enabled in DEBUG) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19331 a1c6a512-1295-4272-9138-f99709370657 --- apps/playback.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/playback.c b/apps/playback.c index de12916b66..b21a3c1d46 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -2323,7 +2323,13 @@ static void audio_reset_buffer(void) filebuflen &= ~15; /* Subtract whatever the pcm buffer says it used plus the guard buffer */ - filebuflen -= pcmbuf_init(filebuf + filebuflen) + GUARD_BUFSIZE; + const size_t pcmbuf_size = pcmbuf_init(filebuf + filebuflen) +GUARD_BUFSIZE; +#ifdef DEBUG + if(pcmbuf_size > filebuflen) + panicf("Not enough memory for pcmbuf_init() : %d > %d", + (int)pcmbuf_size, (int)filebuflen); +#endif + filebuflen -= pcmbuf_size; /* Make sure filebuflen is a longword multiple after adjustment - filebuf will already be line aligned */