You've already forked lazarus-ccr
fpspreadsheet: Fix memory leak in ODS reader.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8352 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -2902,7 +2902,11 @@ begin
|
|||||||
if UnzipToStream(AStream, 'meta.xml', XMLStream) then
|
if UnzipToStream(AStream, 'meta.xml', XMLStream) then
|
||||||
begin
|
begin
|
||||||
ReadXMLStream(Doc, XMLStream);
|
ReadXMLStream(Doc, XMLStream);
|
||||||
ReadMetaData(Doc.DocumentElement.FindNode('office:meta'));
|
try
|
||||||
|
ReadMetaData(Doc.DocumentElement.FindNode('office:meta'));
|
||||||
|
finally
|
||||||
|
FreeAndNil(Doc);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
XMLStream.Free;
|
XMLStream.Free;
|
||||||
@ -2914,8 +2918,12 @@ begin
|
|||||||
if UnzipToStream(AStream, 'settings.xml', XMLStream) then
|
if UnzipToStream(AStream, 'settings.xml', XMLStream) then
|
||||||
begin
|
begin
|
||||||
ReadXMLStream(Doc, XMLStream);
|
ReadXMLStream(Doc, XMLStream);
|
||||||
OfficeSettingsNode := Doc.DocumentElement.FindNode('office:settings');
|
try
|
||||||
ReadSettings(OfficeSettingsNode);
|
OfficeSettingsNode := Doc.DocumentElement.FindNode('office:settings');
|
||||||
|
ReadSettings(OfficeSettingsNode);
|
||||||
|
finally
|
||||||
|
FreeAndNil(Doc);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
XMLStream.Free;
|
XMLStream.Free;
|
||||||
|
Reference in New Issue
Block a user