From 93b6a1d12c31a601df6b548bda81e3c40f431c47 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 2 Apr 2006 20:19:00 +0000 Subject: Prevent two division by zeros and one problem causing a crash in the mp3 metadata parser. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657 --- apps/dsp.c | 5 ++++- apps/playback.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'apps') diff --git a/apps/dsp.c b/apps/dsp.c index 9cdc715109..29e103afb7 100644 --- a/apps/dsp.c +++ b/apps/dsp.c @@ -629,7 +629,10 @@ void dsp_set_eq_coefs(int band) cutoff = 0xffffffff / NATIVE_FREQUENCY * (*setting++); q = ((*setting++) << 16) / 10; /* 16.16 */ gain = ((*setting++) << 16) / 10; /* s15.16 */ - + + if (q == 0) + q = 1; + /* The coef functions assume the EMAC unit is in fractional mode */ #if defined(CPU_COLDFIRE) && !defined(SIMULATOR) /* set emac unit for dsp processing, and save old macsr, we're running in diff --git a/apps/playback.c b/apps/playback.c index eab6fd104f..9f8fc5a71b 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -2359,8 +2359,11 @@ static void mp3_set_elapsed(struct mp3entry* id3) } } else + { /* constant bitrate, use exact calculation */ - id3->elapsed = id3->offset / (id3->bitrate / 8); + if (id3->bitrate != 0) + id3->elapsed = id3->offset / (id3->bitrate / 8); + } } /* Copied from mpeg.c. Should be moved somewhere else. */ -- cgit v1.2.3