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

Ronald S. Bultje rsbultje at gmail.com
Mon Jan 2 00:23:37 EET 2017


Hi,

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

> The problem was introduced by commit
> 3deb4b54a24f8cddce463d9f5751b01efeb976af.
>
> Signed-off-by: Andreas Cadhalpun <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.

Ronald


More information about the ffmpeg-devel mailing list