diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index 8442957400bb7cc42d8cf4cd4ed728f5a7672c48..9db09e1ed97eb5f39ee86c6aab5bfe585727628a 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -138,6 +138,11 @@ static int rm_read_audio_stream_info(AVFormatContext *s, AVStream *st, return -1; } + if(sub_packet_size <= 0){ + av_log(s, AV_LOG_ERROR, "sub_packet_size is invalid\n"); + return -1; + } + if (!strcmp(buf, "cook")) st->codec->codec_id = CODEC_ID_COOK; else if (!strcmp(buf, "sipr")) st->codec->codec_id = CODEC_ID_SIPR; else st->codec->codec_id = CODEC_ID_ATRAC3;