From: regrain Date: Fri, 19 Nov 2004 12:44:00 +0000 (+0000) Subject: * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm X-Git-Tag: Version1.0.bp~581 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=ee6b053bb6a51ecd2363836beacdb55bcc1c9a46;p=gdcm.git * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks -- BeNours --- diff --git a/ChangeLog b/ChangeLog index 3aab041b..dc6b458a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-11-15 Benoit Regrain + * 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 * src/gdcmDocument.cxx : now, when using the ReplaceOrCreateByNumber to set a BinEntry, the binArea is copied (like to set a ValEntry, the string diff --git a/src/gdcmDocument.cxx b/src/gdcmDocument.cxx index 62f5b9d2..306354a4 100644 --- a/src/gdcmDocument.cxx +++ b/src/gdcmDocument.cxx @@ -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++; diff --git a/src/gdcmSeqEntry.cxx b/src/gdcmSeqEntry.cxx index 76d57104..2a7d748d 100644 --- a/src/gdcmSeqEntry.cxx +++ b/src/gdcmSeqEntry.cxx @@ -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; } /**