X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsmacker.c;h=30f99b488d03b64041c202b141624f0b714c4610;hb=186980bf0f5e890295b6dc6b939084e3ebcf0dde;hp=a983922fc75a10314e92b3565bafd1f9baa4fb92;hpb=e462257242fc037c99206457d1316e1ff9e5306f;p=ffmpeg diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index a983922fc75..30f99b488d0 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -35,7 +35,7 @@ #include "libavutil/audioconvert.h" #include "mathops.h" -#define ALT_BITSTREAM_READER_LE +#define BITSTREAM_READER_LE #include "get_bits.h" #include "bytestream.h" @@ -663,6 +663,8 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, for(i = 0; i <= stereo; i++) *samples++ = pred[i]; for(; i < unp_size / 2; i++) { + if(get_bits_left(&gb)<0) + return -1; if(i & stereo) { if(vlc[2].table) res = get_vlc2(&gb, vlc[2].table, SMKTREE_BITS, 3); @@ -697,6 +699,8 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, for(i = 0; i <= stereo; i++) *samples8++ = pred[i]; for(; i < unp_size; i++) { + if(get_bits_left(&gb)<0) + return -1; if(i & stereo){ if(vlc[1].table) res = get_vlc2(&gb, vlc[1].table, SMKTREE_BITS, 3);