mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/rl2: fix memleak when read end of file
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
This commit is contained in:
parent
7a20008964
commit
59697e42e1
@ -171,18 +171,24 @@ static av_cold int rl2_read_header(AVFormatContext *s)
|
||||
|
||||
/** read offset and size tables */
|
||||
for(i=0; i < frame_count;i++) {
|
||||
if (avio_feof(pb))
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (avio_feof(pb)) {
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
goto end;
|
||||
}
|
||||
chunk_size[i] = avio_rl32(pb);
|
||||
}
|
||||
for(i=0; i < frame_count;i++) {
|
||||
if (avio_feof(pb))
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (avio_feof(pb)) {
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
goto end;
|
||||
}
|
||||
chunk_offset[i] = avio_rl32(pb);
|
||||
}
|
||||
for(i=0; i < frame_count;i++) {
|
||||
if (avio_feof(pb))
|
||||
return AVERROR_INVALIDDATA;
|
||||
if (avio_feof(pb)) {
|
||||
ret = AVERROR_INVALIDDATA;
|
||||
goto end;
|
||||
}
|
||||
audio_size[i] = avio_rl32(pb) & 0xFFFF;
|
||||
}
|
||||
|
||||
@ -203,7 +209,7 @@ static av_cold int rl2_read_header(AVFormatContext *s)
|
||||
++video_frame_counter;
|
||||
}
|
||||
|
||||
|
||||
end:
|
||||
av_free(chunk_size);
|
||||
av_free(audio_size);
|
||||
av_free(chunk_offset);
|
||||
|
Loading…
Reference in New Issue
Block a user