[Mobies-commit] [commit] r3869 - UDM/trunk/tests/test_childrenorder

ksmyth at redhat1.isis.vanderbilt.edu ksmyth at redhat1.isis.vanderbilt.edu
Sat Aug 27 11:53:57 CDT 2011


Author: ksmyth
Date: Sat Aug 27 11:53:57 2011
New Revision: 3869

Log:
Fix memory leak on exception

Modified:
   UDM/trunk/tests/test_childrenorder/childrenorderTest.cpp
   UDM/trunk/tests/test_childrenorder/childrenorderTest.h

Modified: UDM/trunk/tests/test_childrenorder/childrenorderTest.cpp
==============================================================================
--- UDM/trunk/tests/test_childrenorder/childrenorderTest.cpp	Sat Aug 27 11:53:56 2011	(r3868)
+++ UDM/trunk/tests/test_childrenorder/childrenorderTest.cpp	Sat Aug 27 11:53:57 2011	(r3869)
@@ -25,7 +25,7 @@
 
 using namespace LampDiagram;
 
-char * UdmTests::childrenorderTest::getRndFileName()
+std::string UdmTests::childrenorderTest::getRndFileName()
 {
 #ifdef WIN32
 		const char * def_tmp_dir = "c:\\";
@@ -48,8 +48,10 @@
 #else	//WIN32
 		t_dir_name = tempnam(tmp_dir, "UDM");
 #endif
+		std::string ret = t_dir_name != NULL ? t_dir_name : "";
+		free(t_dir_name);
 
-		return t_dir_name;
+		return ret;
 };
 
 void UdmTests::childrenorderTest::removeFile(const string &pathname)
@@ -162,18 +164,14 @@
 
 void UdmTests::childrenorderTest::testDOM()
 {
-	char *fname = getRndFileName();
-	std::string fname_std = std::string(fname) + ".xml";
+	std::string fname_std = getRndFileName() + ".xml";
 	ordertest(fname_std.c_str());
 	removeFile(fname_std);
-	free(fname);
 };
 
 void UdmTests::childrenorderTest::testMEM()
 {
-	char *fname = getRndFileName();
-	std::string fname_std = std::string(fname) + ".mem";
+	std::string fname_std = getRndFileName() + ".mem";
 	ordertest(fname_std.c_str());
 	removeFile(fname_std);
-	free(fname);
 };

Modified: UDM/trunk/tests/test_childrenorder/childrenorderTest.h
==============================================================================
--- UDM/trunk/tests/test_childrenorder/childrenorderTest.h	Sat Aug 27 11:53:56 2011	(r3868)
+++ UDM/trunk/tests/test_childrenorder/childrenorderTest.h	Sat Aug 27 11:53:57 2011	(r3869)
@@ -17,7 +17,7 @@
 
 		
 	private:
-		char * getRndFileName();
+		std::string getRndFileName();
 		void removeFile(const string &pathname);
 		bool ordertest(const char *);	//returns false if failed
 		public:


More information about the Mobies-commit mailing list