From 8f38534300b4e24e0ef2c561721b11ff9667e3de Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 29 Mar 2021 14:42:52 +0200 Subject: Tracking: Avoid integer overflow in dopesheet update Straightforward check to discard cases when dopesheet is being updated for a movie clip which has no markers at all. Possible bugfix for T86847. --- source/blender/blenkernel/intern/tracking.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index d124922acd1..f3d6bc4a6e3 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -3251,6 +3251,11 @@ static void tracking_dopesheet_calc_coverage(MovieTracking *tracking) end_frame = max_ii(end_frame, track->markers[track->markersnr - 1].framenr); } + if (start_frame > end_frame) { + /* There are no markers at all, nothing to calculate coverage from. */ + return; + } + frames = end_frame - start_frame + 1; /* this is a per-frame counter of markers (how many markers belongs to the same frame) */ -- cgit v1.2.3