]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/setts_bsf: Check timebase
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 4 Mar 2021 12:06:22 +0000 (13:06 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 29 Mar 2021 20:19:39 +0000 (22:19 +0200)
Fixes: Division by 0
Fixes: 30952/clusterfuzz-testcase-minimized-ffmpeg_BSF_SETTS_fuzzer-6601016202100736
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/setts_bsf.c

index 5b6b25691598ca738c9d8cdaefd74aa73b86af47..2558e38f51ce1bd0e000bdef6e651f1e5a9dd2d7 100644 (file)
@@ -152,7 +152,7 @@ static int setts_filter(AVBSFContext *ctx, AVPacket *pkt)
     s->var_values[VAR_PREV_OUTDTS] = s->prev_outdts;
     s->var_values[VAR_STARTPTS]    = s->start_pts;
     s->var_values[VAR_STARTDTS]    = s->start_dts;
-    s->var_values[VAR_TB]          = av_q2d(ctx->time_base_out);
+    s->var_values[VAR_TB]          = ctx->time_base_out.den ? av_q2d(ctx->time_base_out) : 0;
     s->var_values[VAR_SR]          = ctx->par_in->sample_rate;
 
     new_ts = llrint(av_expr_eval(s->ts_expr, s->var_values, NULL));