[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22110] trunk/blender/source: - Ancient resource leak (rev 2) where checkPackedFile would open a file and never close it.

Campbell Barton ideasman42 at gmail.com
Sat Aug 1 08:27:40 CEST 2009


Revision: 22110
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22110
Author:   campbellbarton
Date:     2009-08-01 08:27:40 +0200 (Sat, 01 Aug 2009)

Log Message:
-----------
- Ancient resource leak (rev 2) where checkPackedFile would open a file and never close it.
- Running simulations missed freeing some variables.

Revision Links:
--------------
    http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=2

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/blenkernel/intern/packedFile.c
    trunk/blender/source/blender/imbuf/intern/targa.c
    trunk/blender/source/blender/makesdna/intern/makesdna.c
    trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2009-08-01 06:03:08 UTC (rev 22109)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2009-08-01 06:27:40 UTC (rev 22110)
@@ -2189,7 +2189,7 @@
 			Mat4MulSerie(pchan->pose_mat, tmat, offs_bone, pchan->chan_mat, NULL, NULL, NULL, NULL, NULL);
 		}
 		else if(bone->flag & BONE_NO_SCALE) {
-			float orthmat[4][4], vec[3];
+			float orthmat[4][4];
 			
 			/* get the official transform, but we only use the vector from it (optimize...) */
 			Mat4MulSerie(pchan->pose_mat, parchan->pose_mat, offs_bone, pchan->chan_mat, NULL, NULL, NULL, NULL, NULL);

Modified: trunk/blender/source/blender/blenkernel/intern/packedFile.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/packedFile.c	2009-08-01 06:03:08 UTC (rev 22109)
+++ trunk/blender/source/blender/blenkernel/intern/packedFile.c	2009-08-01 06:27:40 UTC (rev 22110)
@@ -383,6 +383,8 @@
 					}
 				}
 			}
+			
+			close(file);
 		}
 	}
 	

Modified: trunk/blender/source/blender/imbuf/intern/targa.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/targa.c	2009-08-01 06:03:08 UTC (rev 22109)
+++ trunk/blender/source/blender/imbuf/intern/targa.c	2009-08-01 06:27:40 UTC (rev 22110)
@@ -289,7 +289,10 @@
 	fildes = fopen(name,"wb");
         if (!fildes) return 0;
 
-	if (fwrite(buf, 1, 18,fildes) != 18) return (0);
+	if (fwrite(buf, 1, 18,fildes) != 18) {
+		fclose(fildes);
+		return (0);
+	}
 
 	if (ibuf->cmap){
 		for (i = 0 ; i<ibuf->maxcol ; i++){

Modified: trunk/blender/source/blender/makesdna/intern/makesdna.c
===================================================================
--- trunk/blender/source/blender/makesdna/intern/makesdna.c	2009-08-01 06:03:08 UTC (rev 22109)
+++ trunk/blender/source/blender/makesdna/intern/makesdna.c	2009-08-01 06:27:40 UTC (rev 22110)
@@ -483,15 +483,18 @@
 	data= MEM_mallocN(*len_r, "read_file_data");
 	if (!data) {
 		*len_r= -1;
+		fclose(fp);
 		return NULL;
 	}
 
 	if (fread(data, *len_r, 1, fp)!=1) {
 		*len_r= -1;
 		MEM_freeN(data);
+		fclose(fp);
 		return NULL;
 	}
-
+	
+	fclose(fp);
 	return data;
 }
 

Modified: trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-08-01 06:03:08 UTC (rev 22109)
+++ trunk/blender/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2009-08-01 06:27:40 UTC (rev 22110)
@@ -747,6 +747,16 @@
 			delete mousedevice;
 			mousedevice = NULL;
 		}
+		if (rasterizer)
+		{
+			delete rasterizer;
+			rasterizer = NULL;
+		}
+		if (rendertools)
+		{
+			delete rendertools;
+			rendertools = NULL;
+		}
 		SND_DeviceManager::Unsubscribe();
 
 	} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);





More information about the Bf-blender-cvs mailing list