r3d: Add more input value validation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st> Conflicts: libavformat/r3d.c
This commit is contained in:
committed by
Luca Barbato
parent
98e1f0a2db
commit
99fe4c577f
@@ -87,7 +87,7 @@ static int r3d_read_red1(AVFormatContext *s)
|
|||||||
|
|
||||||
framerate.num = avio_rb16(s->pb);
|
framerate.num = avio_rb16(s->pb);
|
||||||
framerate.den = avio_rb16(s->pb);
|
framerate.den = avio_rb16(s->pb);
|
||||||
if (framerate.num && framerate.den) {
|
if (framerate.num > 0 && framerate.den > 0) {
|
||||||
#if FF_API_R_FRAME_RATE
|
#if FF_API_R_FRAME_RATE
|
||||||
st->r_frame_rate =
|
st->r_frame_rate =
|
||||||
#endif
|
#endif
|
||||||
@@ -286,6 +286,10 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
|
|||||||
dts = avio_rb32(s->pb);
|
dts = avio_rb32(s->pb);
|
||||||
|
|
||||||
st->codec->sample_rate = avio_rb32(s->pb);
|
st->codec->sample_rate = avio_rb32(s->pb);
|
||||||
|
if (st->codec->sample_rate <= 0) {
|
||||||
|
av_log(s, AV_LOG_ERROR, "Bad sample rate\n");
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
samples = avio_rb32(s->pb);
|
samples = avio_rb32(s->pb);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user