Browse Source

* patch by Joeny Ang: fix TDbf memory leak, resolves #40709

(cherry picked from commit 961e8fb7494747a54a28af79093adc0f2e53cf37)
florian 1 year ago
parent
commit
fdc63b3918
1 changed files with 3 additions and 2 deletions
  1. 3 2
      packages/fcl-db/src/dbase/dbf.pas

+ 3 - 2
packages/fcl-db/src/dbase/dbf.pas

@@ -1219,15 +1219,16 @@ var
 begin
   MustReleaseDbfFile := false;
   with FieldDefs do
-  begin
+  try
     if FDbfFile = nil then
     begin
+      MustReleaseDbfFile := true;
       // do not AutoCreate file
       InitDbfFile(pfReadOnly);
       FDbfFile.Open;
-      MustReleaseDbfFile := true;
     end;
     GetFieldDefsFromDbfFieldDefs;
+  finally
     if MustReleaseDbfFile then
       FreeAndNil(FDbfFile);
   end;