summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-04-02 20:19:00 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-04-02 20:19:00 +0000
commit93b6a1d12c31a601df6b548bda81e3c40f431c47 (patch)
tree88e25758af6c67e1eb62bdc2223fc327ebf058a9 /apps
parentea6b4cbe4f10751087a64a13ff5d44837862cef3 (diff)
downloadrockbox-93b6a1d12c31a601df6b548bda81e3c40f431c47.tar.gz
rockbox-93b6a1d12c31a601df6b548bda81e3c40f431c47.zip
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
Diffstat (limited to 'apps')
-rw-r--r--apps/dsp.c5
-rw-r--r--apps/playback.c5
2 files changed, 8 insertions, 2 deletions
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. */