mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/mov: Check avio_read() return code in mov_read_extradata() and shrink the extradata if needed / return an error
Fixes use of uninitialized data Fixes: msan_uninit-mem_7ff57193e77e_2715_RAW512K_Stream_004.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
12e8104120
commit
7a5d3a41fe
|
@ -1002,7 +1002,13 @@ static int mov_read_extradata(MOVContext *c, AVIOContext *pb, MOVAtom atom,
|
|||
st->codec->extradata_size= size - FF_INPUT_BUFFER_PADDING_SIZE;
|
||||
AV_WB32( buf , atom.size + 8);
|
||||
AV_WL32( buf + 4, atom.type);
|
||||
avio_read(pb, buf + 8, atom.size);
|
||||
err = avio_read(pb, buf + 8, atom.size);
|
||||
if (err < 0) {
|
||||
return err;
|
||||
} else if (err < atom.size) {
|
||||
av_log(c->fc, AV_LOG_WARNING, "truncated extradata\n");
|
||||
st->codec->extradata_size -= atom.size - err;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue