ons 2018-12-12 klockan 18:59 -0800 skrev chcunningham: > avio_read may return EOF, leaving the mimetype array unitialized. fail > early when this occurs to avoid using the array in an unitialized state. > --- > libavformat/id3v2.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c > index f7de26a1d8..7c4d1f8677 100644 > --- a/libavformat/id3v2.c > +++ b/libavformat/id3v2.c > @@ -612,7 +612,9 @@ static void read_apic(AVFormatContext *s, AVIOContext > *pb, int taglen, > if (isv34) { > taglen -= avio_get_str(pb, taglen, mimetype, sizeof(mimetype)); > } else { > - avio_read(pb, mimetype, 3); > + if (avio_read(pb, mimetype, 3) < 0) > + goto fail; > + > mimetype[3] = 0; > taglen -= 3; > }
Yet another problem that could have been caught by static analysis.. Wouldn't it be better to always leave the array in a valid state? /Tomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel