summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/r3d.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/r3d.c b/libavformat/r3d.c
index 5ee0b93686..3b3ecce3d9 100644
--- a/libavformat/r3d.c
+++ b/libavformat/r3d.c
@@ -285,6 +285,10 @@ static int r3d_read_reda(AVFormatContext *s, AVPacket *pkt, Atom *atom)
dts = avio_rb32(s->pb);
st->codec->sample_rate = avio_rb32(s->pb);
+ if (st->codec->sample_rate < 0) {
+ av_log(s, AV_LOG_ERROR, "negative sample rate\n");
+ return AVERROR_INVALIDDATA;
+ }
samples = avio_rb32(s->pb);