You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2007/07/02 17:28:10 UTC

svn commit: r552513 - /xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp

Author: amassari
Date: Mon Jul  2 08:28:09 2007
New Revision: 552513

URL: http://svn.apache.org/viewvc?view=rev&rev=552513
Log:
Fixed memory leak

Modified:
    xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp

Modified: xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp?view=diff&rev=552513&r1=552512&r2=552513
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Mon Jul  2 08:28:09 2007
@@ -9106,13 +9106,10 @@
 
     // create schema grammar
     SchemaGrammar  *grammar = new (memMgr) SchemaGrammar(memMgr);
-    NamespaceScope *nsScope;
     grammar->setComplexTypeRegistry(new (memMgr) RefHashTableOf<ComplexTypeInfo>(29, memMgr));
     grammar->setGroupInfoRegistry(new (memMgr) RefHashTableOf<XercesGroupInfo>(13, memMgr));
     grammar->setAttGroupInfoRegistry(new (memMgr) RefHashTableOf<XercesAttGroupInfo>(13, memMgr));
     grammar->setAttributeDeclRegistry(new (memMgr) RefHashTableOf<XMLAttDef>(29, memMgr));
-    nsScope = new (memMgr) NamespaceScope(memMgr);
-    nsScope->reset(fEmptyNamespaceURI);
     grammar->setValidSubstitutionGroups(new (memMgr) RefHash2KeysTableOf<ElemVector>(29, memMgr));
     grammar->setTargetNamespace(SchemaSymbols::fgURI_SCHEMAFORSCHEMA);
     XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) grammar->getGrammarDescription();
@@ -9211,6 +9208,7 @@
         , false
         , memMgr
         );
+    Janitor<MemBufInputSource> janMemBuf(memBufIS);
     memBufIS->setEncoding(XMLUni::fgXMLChEncodingString);
     memBufIS->setCopyBufToStream(false);    
 
@@ -9218,6 +9216,7 @@
     (
         fGrammarResolver, fURIStringPool, grammar, memMgr
     );
+    Janitor<XSAXMLScanner> janScanner(scanner);
 
     scanner->setErrorReporter(fErrorReporter);
 
@@ -9241,8 +9240,6 @@
         scanner->scanDocument(*memBufIS);
     }
     
-    delete scanner;
-    delete memBufIS;
 }
 
 XERCES_CPP_NAMESPACE_END



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org