diff options
author | Sergey Sharybin <sergey@blender.org> | 2021-03-29 15:42:52 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2021-03-29 15:43:58 +0300 |
commit | 8f38534300b4e24e0ef2c561721b11ff9667e3de (patch) | |
tree | d7be4b5f8b7df89bf5e16c2d0417273df0639037 /source/blender/blenkernel/intern/tracking.c | |
parent | e0ce76f1c5eb70ab66755dce4627b918fc102cbd (diff) |
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.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r-- | source/blender/blenkernel/intern/tracking.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) */ |