[FFmpeg-devel] [PATCH 2/2] wmavoice: prevent division by zero crash

Ronald S. Bultje rsbultje at gmail.com
Mon Jan 2 05:09:00 EET 2017


Hi,

On Sun, Jan 1, 2017 at 5:51 PM, Andreas Cadhalpun <
andreas.cadhalpun at googlemail.com> wrote:

> On 01.01.2017 23:23, Ronald S. Bultje wrote:
> > On Sun, Jan 1, 2017 at 5:19 PM, Andreas Cadhalpun <
> andreas.cadhalpun at googlemail.com <mailto:andreas.cadhalpun at googlemail.com>>
> wrote:
> >
> >     The problem was introduced by commit
> >     3deb4b54a24f8cddce463d9f5751b01efeb976af.
> >
> >     Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com
> <mailto:Andreas.Cadhalpun at googlemail.com>>
> >     ---
> >      libavcodec/wmavoice.c | 2 +-
> >      1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >     diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
> >     index 1bfad46b2e..279b44dc12 100644
> >     --- a/libavcodec/wmavoice.c
> >     +++ b/libavcodec/wmavoice.c
> >     @@ -1908,7 +1908,7 @@ static int wmavoice_decode_packet(AVCodecContext
> *ctx, void *data,
> >          /* size == ctx->block_align is used to indicate whether we are
> dealing with
> >           * a new packet or a packet of which we already read the packet
> header
> >           * previously. */
> >     -    if (!(size % ctx->block_align)) { // new packet header
> >     +    if (ctx->block_align && !(size % ctx->block_align)) { // new
> packet header
> >              if (!size) {
> >                  s->spillover_nbits = 0;
> >                  s->nb_superframes = 0;
> >     --
> >     2.11.0
> >
> >
> > nak.
> >
> > The init routine should error out if block_align is zero.
> > The codec can not operate without block_align set.
>
> Fine for me. Patch doing that is attached.


LGTM.

Ronald


More information about the ffmpeg-devel mailing list