MantisBT - ITK
View Issue Details
0007004ITKpublic2008-05-13 01:352009-09-22 16:18
wen.feng.Qiu 
Mathieu Malaterre 
normalblocksometimes
closedfixed 
 
ITK-3-10 
0007004: ITK Memory leak in gdcm::gdcmdocument.h , function ParseDES, invoke RemoveEntry, and the solved method
When use gdcm::File to load DICOM , there will memory leak .
Through track the invoke-list, i found that "ParseDES" invoke the function "RemoveEntry", but this function couldn't delete correctly.
The originally "RemoveEntry", and i add the statement to solve this program.


bool ElementSet::RemoveEntry( DocEntry *entryToRemove)
{
   const TagKey &key = entryToRemove->GetKey();
   if ( TagHT.count(key) == 1 )
   {
      TagHT.erase(key);
      delete entryToRemove;
      return true;
   }
   
   gdcmWarningMacro( "Key not present : " << key);
   return false ;
}

After modify,

bool ElementSet::RemoveEntry( DocEntry *entryToRemove)
{
   const TagKey &key = entryToRemove->GetKey();
   if ( TagHT.count(key) == 1 )
   {
      TagHT.erase(key);
      delete entryToRemove;
      return true;
   }
// summit add: to RemoveEntry delete correctly the entryToRemove

   delete entryToRemove;
   gdcmWarningMacro( "Key not present : " << key);
   return false ;
}
No tags attached.
has duplicate 0007003closed Mathieu Malaterre ITK Memory leak in gdcm::gdcmdocument.h , function ParseDES, invoke RemoveEntry, and the solved method 
cxx gdcmDocEntry.cxx (8,658) 2008-05-13 01:35
https://public.kitware.com/Bug/file/1457/gdcmDocEntry.cxx
Issue History
2008-05-13 01:35wen.feng.QiuNew Issue
2008-05-13 01:35wen.feng.QiuFile Added: gdcmDocEntry.cxx
2008-10-06 05:33Mathieu MalaterreStatusnew => assigned
2008-10-06 05:33Mathieu MalaterreAssigned To => Mathieu Malaterre
2008-11-30 09:00Mathieu MalaterreNote Added: 0014236
2008-11-30 09:00Mathieu MalaterreNote Added: 0014237
2008-11-30 09:00Mathieu MalaterreStatusassigned => closed
2008-11-30 09:00Mathieu MalaterreResolutionopen => fixed
2008-11-30 09:00Mathieu MalaterreFixed in Version => ITK-3-10
2008-11-30 09:01Mathieu MalaterreRelationship addedhas duplicate 0007003
2008-11-30 11:42Mathieu MalaterreStatusclosed => resolved
2009-09-22 16:18Mathieu MalaterreStatusresolved => closed

Notes
(0014236)
Mathieu Malaterre   
2008-11-30 09:00   
$ cvs ci -m"BUG: Fix 0007004: ITK Memory leak in gdcm::gdcmdocument.h , function ParseDES, invoke RemoveEntry, and the solved method. Thanks to summit for report+patch"
/cvsroot/Insight/Insight/Utilities/gdcm/src/gdcmElementSet.cxx,v <-- gdcmElementSet.cxx
new revision: 1.7; previous revision: 1.6
(0014237)
Mathieu Malaterre   
2008-11-30 09:00   
Fixed in :
 $ cvs ci -m"BUG: Fix 0007004: ITK Memory leak in gdcm::gdcmdocument.h , function ParseDES, invoke RemoveEntry, and the solved method. Thanks to summit for report+patch" ~/Projects/Insight/Utilities/gdcm/src
/cvsroot/Insight/Insight/Utilities/gdcm/src/gdcmElementSet.cxx,v <-- gdcmElementSet.cxx
new revision: 1.7; previous revision: 1.6