diff --git a/libavformat/r3d.c b/libavformat/r3d.c index 8459cddc70..0719fb601a 100644 --- a/libavformat/r3d.c +++ b/libavformat/r3d.c @@ -85,7 +85,7 @@ static int r3d_read_red1(AVFormatContext *s) framerate.num = 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 st->r_frame_rate = #endif @@ -283,8 +283,8 @@ 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"); + if (st->codec->sample_rate <= 0) { + av_log(s, AV_LOG_ERROR, "Bad sample rate\n"); return AVERROR_INVALIDDATA; }