]> Creatis software - gdcm.git/commitdiff
* src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm
authorregrain <regrain>
Fri, 19 Nov 2004 12:44:00 +0000 (12:44 +0000)
committerregrain <regrain>
Fri, 19 Nov 2004 12:44:00 +0000 (12:44 +0000)
   * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks
   -- BeNours

ChangeLog
src/gdcmDocument.cxx
src/gdcmSeqEntry.cxx

index 3aab041b9a3bb210637c474348763d24e90159a5..dc6b458a41b345580fb5ef8c0659ce2adff1775b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+   * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm
+   * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks
+
 2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
    * src/gdcmDocument.cxx : now, when using the ReplaceOrCreateByNumber to
      set a BinEntry, the binArea is copied (like to set a ValEntry, the string
index 62f5b9d211c61ca98c97cdf0fe3583977dee59f6..306354a4e999f089d03cbdb37fd425940bf697cd 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/11/17 19:49:13 $
-  Version:   $Revision: 1.134 $
+  Date:      $Date: 2004/11/19 12:44:00 $
+  Version:   $Revision: 1.135 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -1389,10 +1389,12 @@ void Document::ParseDES(DocEntrySet *set, long offset,
 
             if (delimitor)
             {
+               delete newDocEntry;
                break;
             }
             if ( !delim_mode && ((long)(Fp->tellg())-offset) >= l_max)
             {
+               delete newDocEntry;
                break;
             }
          }
@@ -1457,6 +1459,7 @@ void Document::ParseDES(DocEntrySet *set, long offset,
     
          // Just to make sure we are at the beginning of next entry.
          SkipToNextDocEntry(newDocEntry);
+         //delete newDocEntry;
       }
       else
       {
@@ -1508,6 +1511,7 @@ void Document::ParseDES(DocEntrySet *set, long offset,
          set->AddEntry( newSeqEntry );
          if ( !delim_mode && ((long)(Fp->tellg())-offset) >= l_max)
          {
+            delete newDocEntry;
             break;
          }
       }
@@ -1537,13 +1541,14 @@ void Document::ParseSQ( SeqEntry* seqEntry,
       {
          if ( newDocEntry->IsSequenceDelimitor() )
          {
-            seqEntry->SetSequenceDelimitationItem( newDocEntry );
+            seqEntry->SetSequenceDelimitationItem( newDocEntry ); 
             break;
          }
       }
       if ( !delim_mode && ((long)(Fp->tellg())-offset) >= l_max)
       {
-          break;
+         delete newDocEntry;
+         break;
       }
 
       SQItem *itemSQ = new SQItem( seqEntry->GetDepthLevel() );
@@ -1565,6 +1570,7 @@ void Document::ParseSQ( SeqEntry* seqEntry,
       }
    
       ParseDES(itemSQ, newDocEntry->GetOffset(), l, dlm_mod);
+      delete newDocEntry;
       
       seqEntry->AddEntry( itemSQ, SQItemNumber ); 
       SQItemNumber++;
index 76d57104390038b2aeaa75b021b5056aece136f7..2a7d748d3de136437ca9bbad6a4a9ffe7de5edfa 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSeqEntry.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/11/15 02:18:37 $
-  Version:   $Revision: 1.35 $
+  Date:      $Date: 2004/11/19 12:44:00 $
+  Version:   $Revision: 1.36 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -60,6 +60,7 @@ SeqEntry::SeqEntry( DocEntry* e, int depth )
 
    ImplicitVR   = e->IsImplicitVR();
    Offset       = e->GetOffset();
+   SeqTerm = NULL;
 }
 
 /**