[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