[FFmpeg-devel] [PATCH v1 04/11] avformat/jvdec: fix memleak when read_header failed

Steven Liu lq at chinaffmpeg.org
Thu Oct 10 05:27:50 EEST 2019



> 在 2019年10月9日,16:28,Peter Ross <pross at xvid.org> 写道:
> 
> On Wed, Oct 09, 2019 at 03:35:23PM +0800, Steven Liu wrote:
>> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
>> ---
>> libavformat/jvdec.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>> 
>> diff --git a/libavformat/jvdec.c b/libavformat/jvdec.c
>> index 18c81f0de7..17ada7b0f1 100644
>> --- a/libavformat/jvdec.c
>> +++ b/libavformat/jvdec.c
>> @@ -113,9 +113,10 @@ static int read_header(AVFormatContext *s)
>>         return AVERROR(ENOMEM);
>> 
>>     jv->frames = av_malloc(ast->nb_index_entries * sizeof(JVFrame));
>> -    if (!jv->frames)
>> +    if (!jv->frames) {
>> +        av_freep(&ast->index_entries);
>>         return AVERROR(ENOMEM);
>> -
>> +    }
>>     offset = 0x68 + ast->nb_index_entries * 16;
>>     for (i = 0; i < ast->nb_index_entries; i++) {
>>         AVIndexEntry *e   = ast->index_entries + i;
>> @@ -137,6 +138,8 @@ static int read_header(AVFormatContext *s)
>>                     - jvf->palette_size < 0) {
>>             if (s->error_recognition & AV_EF_EXPLODE) {
>>                 read_close(s);
>> +                av_freep(&jv->frames);
>> +                av_freep(&ast->index_entries);
>>                 return AVERROR_INVALIDDATA;
>>             }
> 
> looks good. please apply.
applied.
> 
> -- Peter
> (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)

Thanks
Steven







More information about the ffmpeg-devel mailing list