[FFmpeg-devel] [PATCH] s302m: fix arithmetic exception

Michael Niedermayer michaelni at gmx.at
Fri Jun 26 23:04:45 CEST 2015


On Fri, Jun 26, 2015 at 07:38:40PM +0200, Andreas Cadhalpun wrote:
> On 26.06.2015 01:27, Michael Niedermayer wrote:
> > On Fri, Jun 26, 2015 at 12:05:09AM +0200, Andreas Cadhalpun wrote:
> >> If 'buf_size * 8' is smaller than 'avctx->channels *
> >> (avctx->bits_per_raw_sample + 4)' it resulted in a division by zero.
> >>
> >> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> >> ---
> >>  libavcodec/s302m.c | 6 +++---
> >>  1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
> >> index 5cf9eb5..36c8e7c 100644
> >> --- a/libavcodec/s302m.c
> >> +++ b/libavcodec/s302m.c
> >> @@ -86,9 +86,9 @@ static int s302m_parse_frame_header(AVCodecContext *avctx, const uint8_t *buf,
> >>              avctx->channel_layout = AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX;
> >>      }
> >>      avctx->bit_rate    = 48000 * avctx->channels * (avctx->bits_per_raw_sample + 4) +
> >> -                         32 * (48000 / (buf_size * 8 /
> >> -                                        (avctx->channels *
> >> -                                         (avctx->bits_per_raw_sample + 4))));
> >> +                         32 * (48000 * avctx->channels
> >> +                                * (avctx->bits_per_raw_sample + 4))
> >> +                            / (buf_size * 8);
> > 
> > i dont think the new code matches the nb_samples vs. buf_size vs.
> > samplerate of s302m_decode_frame()
> 
> I don't think the old code did either.
> 
> > maybe the nb_samples calculation could be factored out and used for
> > bitrate computation too
> 
> It can just be reused, which also nicely avoids the division by zero.
> New patch attached.
> 
> Best regards,
> Andreas
> 

>  s302m.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 520ac68a80950ff219ae396182eb56679c46ee64  0001-s302m-fix-arithmetic-exception.patch
> From 20bca467900d0b0d4ec6fe64140f4d4d251d0bbe Mon Sep 17 00:00:00 2001
> From: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> Date: Fri, 26 Jun 2015 19:31:03 +0200
> Subject: [PATCH] s302m: fix arithmetic exception

LGTM

thanks

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

What does censorship reveal? It reveals fear. -- Julian Assange
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150626/30393b4e/attachment.asc>


More information about the ffmpeg-devel mailing list