[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59288] trunk/blender/source/blender/ editors/space_clip/clip_draw.c: Fix read past end of array when drawing tracking markers keyframes

Sergey Sharybin sergey.vfx at gmail.com
Mon Aug 19 13:36:29 CEST 2013


Revision: 59288
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59288
Author:   nazgul
Date:     2013-08-19 11:36:29 +0000 (Mon, 19 Aug 2013)
Log Message:
-----------
Fix read past end of array when drawing tracking markers keyframes

Was introduced by plane track merge.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_clip/clip_draw.c

Modified: trunk/blender/source/blender/editors/space_clip/clip_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/clip_draw.c	2013-08-19 11:26:21 UTC (rev 59287)
+++ trunk/blender/source/blender/editors/space_clip/clip_draw.c	2013-08-19 11:36:29 UTC (rev 59288)
@@ -127,9 +127,11 @@
                                             int marker_index)
 {
 	if (track) {
+		BLI_assert(marker_index < track->markersnr);
 		return track->markers[marker_index].framenr;
 	}
 	else if (plane_track) {
+		BLI_assert(marker_index < plane_track->markersnr);
 		return plane_track->markers[marker_index].framenr;
 	}
 
@@ -140,6 +142,7 @@
                                             int marker_index)
 {
 	if (track) {
+		BLI_assert(marker_index < track->markersnr);
 		return (track->markers[marker_index].flag & MARKER_DISABLED) == 0;
 	}
 	else if (plane_track) {
@@ -153,9 +156,11 @@
                                               int marker_index)
 {
 	if (track) {
+		BLI_assert(marker_index < track->markersnr);
 		return (track->markers[marker_index].flag & MARKER_TRACKED) == 0;
 	}
 	else if (plane_track) {
+		BLI_assert(marker_index < plane_track->markersnr);
 		return (plane_track->markers[marker_index].flag & PLANE_MARKER_TRACKED) == 0;
 	}
 
@@ -212,6 +217,8 @@
 				a++;
 			}
 
+			a = min_ii(a, markersnr - 1);
+
 			if (generic_track_is_marker_enabled(act_track, act_plane_track, a)) {
 				framenr = generic_track_get_marker_framenr(act_track, act_plane_track, a);
 




More information about the Bf-blender-cvs mailing list