[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49408] trunk/blender/source/blender/avi/ intern/avi.c: prevent uninitialized memory use when writing avi's.

Campbell Barton ideasman42 at gmail.com
Tue Jul 31 12:34:43 CEST 2012


Revision: 49408
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49408
Author:   campbellbarton
Date:     2012-07-31 10:34:42 +0000 (Tue, 31 Jul 2012)
Log Message:
-----------
prevent uninitialized memory use when writing avi's.

Modified Paths:
--------------
    trunk/blender/source/blender/avi/intern/avi.c

Modified: trunk/blender/source/blender/avi/intern/avi.c
===================================================================
--- trunk/blender/source/blender/avi/intern/avi.c	2012-07-31 08:49:27 UTC (rev 49407)
+++ trunk/blender/source/blender/avi/intern/avi.c	2012-07-31 10:34:42 UTC (rev 49408)
@@ -965,12 +965,16 @@
 	/* Allocate the new memory for the index entry */
 
 	if (frame_num + 1 > movie->index_entries) {
-		temp = (AviIndexEntry *) MEM_mallocN((frame_num + 1) *
-		                                     (movie->header->Streams + 1) * sizeof(AviIndexEntry), "newidxentry");
+		const size_t entry_size = (movie->header->Streams + 1) * sizeof(AviIndexEntry);
+
 		if (movie->entries != NULL) {
-			memcpy(temp, movie->entries, movie->index_entries * (movie->header->Streams + 1) * sizeof(AviIndexEntry));
-			MEM_freeN(movie->entries);
+			temp = (AviIndexEntry *)MEM_reallocN(movie->entries, (frame_num + 1) * entry_size);
+			/* clear new bytes */
+			memset(&temp[movie->index_entries], 0, ((frame_num + 1) - movie->index_entries) * entry_size);
 		}
+		else {
+			temp = (AviIndexEntry *) MEM_callocN((frame_num + 1) * entry_size, "newidxentry");
+		}
 
 		movie->entries = temp;
 		movie->index_entries = frame_num + 1;




More information about the Bf-blender-cvs mailing list