[FFmpeg-devel] [PATCH 1/3] aacsbr_fixed: avoid division by zero in sbr_gain_calc

Michael Niedermayer michael at niedermayer.cc
Wed Nov 11 14:55:48 CET 2015


On Sun, Nov 08, 2015 at 10:02:56PM +0100, Andreas Cadhalpun wrote:
> This fixes a SIGFPE crash in the aac_fixed decoder.
> 
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
>  libavcodec/aacsbr_fixed.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavcodec/aacsbr_fixed.c b/libavcodec/aacsbr_fixed.c
> index f942d74..efe40f2 100644
> --- a/libavcodec/aacsbr_fixed.c
> +++ b/libavcodec/aacsbr_fixed.c
> @@ -434,8 +434,8 @@ static void sbr_gain_calc(AACContext *ac, SpectralBandReplication *sbr,
>                gain_max = FLOAT_100000;
>              for (m = sbr->f_tablelim[k] - sbr->kx[1]; m < sbr->f_tablelim[k + 1] - sbr->kx[1]; m++) {
>                  SoftFloat q_m_max = av_div_sf(
> -                                        av_mul_sf(sbr->q_m[e][m], gain_max),
> -                                        sbr->gain[e][m]);
> +                                        av_add_sf(FLOAT_EPSILON, av_mul_sf(sbr->q_m[e][m], gain_max)),
> +                                        av_add_sf(FLOAT_EPSILON, sbr->gain[e][m]));

is gain == 0 here ?
isnt that invalid ?

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20151111/5eebf452/attachment.sig>


More information about the ffmpeg-devel mailing list