[Mobies-commit] [commit] r4389 - in UDM/trunk: include src/UdmBase src/UdmDom
ksmyth at svn.isis.vanderbilt.edu
ksmyth at svn.isis.vanderbilt.edu
Fri Oct 13 09:38:37 CDT 2017
Author: ksmyth
Date: Fri Oct 13 09:38:37 2017
New Revision: 4389
Log:
Fix memory leaks
Modified:
UDM/trunk/include/UdmBase.h
UDM/trunk/src/UdmBase/Project.cpp
UDM/trunk/src/UdmDom/UdmDom.cpp
Modified: UDM/trunk/include/UdmBase.h
==============================================================================
--- UDM/trunk/include/UdmBase.h Tue May 16 15:46:39 2017 (r4388)
+++ UDM/trunk/include/UdmBase.h Fri Oct 13 09:38:37 2017 (r4389)
@@ -3592,6 +3592,10 @@
testdn()->resetStaticUdmProject();
};
+ virtual void release()
+ {
+ dn = NULL;
+ };
//string support
virtual void CreateNewToString(const string &metalocator, const ::Uml::Class &rootclass,
Modified: UDM/trunk/src/UdmBase/Project.cpp
==============================================================================
--- UDM/trunk/src/UdmBase/Project.cpp Tue May 16 15:46:39 2017 (r4388)
+++ UDM/trunk/src/UdmBase/Project.cpp Fri Oct 13 09:38:37 2017 (r4389)
@@ -632,7 +632,8 @@
datanetworks.insert(pair<string, Udm::DataNetwork*>(i->filename(), dn->testdn()));
rev_datanetworks.insert(pair<Udm::DataNetwork*, string>(dn->testdn(), i->filename()));
-
+ dn->release();
+ delete dn;
::UdmProject::Datanetwork _udm_pr_dn = ::UdmProject::Datanetwork::Create(_project,::UdmProject::Project::meta_instances);
_udm_pr_dn.metalocator() = i->metalocator();
@@ -825,7 +826,7 @@
map<string, Udm::DataNetwork*>::iterator rev_i = datanetworks.find(ph_sys_name);
if (rev_i == datanetworks.end())
- throw udm_exception(string("Datanetwork with systemname ") + ph_sys_name + string(" was not found in the reverse map!"));
+ throw udm_exception(string("Datanetwork with systemname '") + ph_sys_name + string("' was not found in the reverse map!"));
if (rev_i->second == o.__impl()->__getdn())
{
Modified: UDM/trunk/src/UdmDom/UdmDom.cpp
==============================================================================
--- UDM/trunk/src/UdmDom/UdmDom.cpp Tue May 16 15:46:39 2017 (r4388)
+++ UDM/trunk/src/UdmDom/UdmDom.cpp Fri Oct 13 09:38:37 2017 (r4389)
@@ -1362,7 +1362,9 @@
{
XMLString::release(&a_buf);
throw udm_exception("Attr is of non-float format");
+
}
+ XMLString::release(&a_buf);
return d;
}
More information about the Mobies-commit
mailing list