> 在 2019年10月10日,12:53,zhilizhao(赵志立) <quinkbl...@foxmail.com> 写道: > > > >> On Oct 10, 2019, at 11:40 AM, Steven Liu <l...@chinaffmpeg.org> wrote: >> >> Signed-off-by: Steven Liu <l...@chinaffmpeg.org> >> --- >> libavformat/mtv.c | 13 +++++++++++-- >> 1 file changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/libavformat/mtv.c b/libavformat/mtv.c >> index 728f4a4781..c664ae14c7 100644 >> --- a/libavformat/mtv.c >> +++ b/libavformat/mtv.c >> @@ -171,13 +171,19 @@ static int mtv_read_header(AVFormatContext *s) >> st->codecpar->width = mtv->img_width; >> st->codecpar->height = mtv->img_height; >> st->codecpar->extradata = av_strdup("BottomUp"); >> + if (!st->codecpar->extradata) { >> + return AVERROR(ENOMEM); >> + } >> st->codecpar->extradata_size = 9; >> >> // audio - mp3 >> >> st = avformat_new_stream(s, NULL); >> - if(!st) >> + if(!st) { >> + av_freep(&st->codecpar->extradata); >> + st->codecpar->extradata_size = 0; >> return AVERROR(ENOMEM); >> + } > > NULL pointer dereference? When new streams cannot be create, there have no memory, so release the st->codecpar->extradata, now st->codecpar->extradata is not NULL pointer. > > >> >> avpriv_set_pts_info(st, 64, 1, MTV_AUDIO_SAMPLING_RATE); >> st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; >> @@ -187,8 +193,11 @@ static int mtv_read_header(AVFormatContext *s) >> >> // Jump over header >> >> - if(avio_seek(pb, MTV_HEADER_SIZE, SEEK_SET) != MTV_HEADER_SIZE) >> + if(avio_seek(pb, MTV_HEADER_SIZE, SEEK_SET) != MTV_HEADER_SIZE) { >> + av_freep(&st->codecpar->extradata); >> + st->codecpar->extradata_size = 0; >> return AVERROR(EIO); >> + } >> >> return 0; >> >> -- >> 2.15.1 >> >> >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Thanks Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".