From 62fb090ac491a61c4100abc9ac62354dc38c0fc4 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 5 Feb 2011 09:59:36 +0000 Subject: Fix #11897 - Multiple 'divide by zero' while playing particular APE on Clip+. Problem and solution observed and checked on Gigabeat S by myself. Fix submitted by Mikhail Titov resolves it. range_decode_short was declared as returing 'int short' rather than 'unsigned short' resulting in unwanted sign extension. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29208 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/demac/libdemac/entropy.c | 2 +- docs/CREDITS | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/codecs/demac/libdemac/entropy.c b/apps/codecs/demac/libdemac/entropy.c index a09ba8f540..1cef979808 100644 --- a/apps/codecs/demac/libdemac/entropy.c +++ b/apps/codecs/demac/libdemac/entropy.c @@ -215,7 +215,7 @@ static inline unsigned char decode_byte(void) return tmp; } -static inline int short range_decode_short(void) +static inline unsigned short range_decode_short(void) { int tmp = range_decode_culshift(16); range_decode_update( 1,tmp); return tmp; diff --git a/docs/CREDITS b/docs/CREDITS index e6e5c7a937..9bbfc70d9b 100644 --- a/docs/CREDITS +++ b/docs/CREDITS @@ -583,6 +583,7 @@ Robert Horn Ante Maretic Benjamin Brown Uwe Wiebach +Mikhail Titov The libmad team The wavpack team -- cgit v1.2.3