This patch fixes a problem with XmlCfg related to reading a bad xml file and catching an exception:

 try
    axml:=TXMlConfig.Create(filename); // try to parse the file
  except
    on E: Exception do
      begin
        writeln('Error: '+ E.Message);
        freeandnil(axml);
      end;
  end;

There's a memory leak if the exception get's called(with or without freeandnil).

Ales
Index: fpc-1.9/fcl/xml/xmlread.pp
===================================================================
RCS file: /FPC/CVS/fpc/fcl/xml/xmlread.pp,v
retrieving revision 1.12
diff -u -r1.12 xmlread.pp
--- fpc-1.9/fcl/xml/xmlread.pp  5 Nov 2004 22:32:28 -0000       1.12
+++ fpc-1.9/fcl/xml/xmlread.pp  16 Dec 2004 12:27:34 -0000
@@ -1389,8 +1389,8 @@
     Reader := TXMLReader.Create;
     try
       Reader.ProcessXML(buf, AFilename);
-      ADoc := TXMLDocument(Reader.doc);
     finally
+      ADoc := TXMLDocument(Reader.doc);
       Reader.Free;
     end;
   finally
_______________________________________________
fpc-devel maillist  -  [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to