# HG changeset patch # User reimar # Date 1268414988 0 # Node ID a1bf34d754845a983cc0c40fe376fb07aa4c1730 # Parent e159f9aa13a24fe9267ba0f32035d478b742cc7b Fix crash if speex_packet_to_header fails. diff -r e159f9aa13a2 -r a1bf34d75484 libmpcodecs/ad_speex.c --- a/libmpcodecs/ad_speex.c Fri Mar 12 17:21:05 2010 +0000 +++ b/libmpcodecs/ad_speex.c Fri Mar 12 17:29:48 2010 +0000 @@ -61,6 +61,10 @@ return 0; } ctx->hdr = speex_packet_to_header((char *)&sh->wf[1], sh->wf->cbSize); + if (!ctx->hdr) { + mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "Invalid extradata!\n"); + return 0; + } if (ctx->hdr->nb_channels != 1 && ctx->hdr->nb_channels != 2) { mp_msg(MSGT_DECAUDIO, MSGL_WARN, "Invalid number of channels (%i), " "assuming mono\n", ctx->hdr->nb_channels);