Explorar el Código

* Fix bug #37852, possible memleak

git-svn-id: trunk@47343 -
michael hace 4 años
padre
commit
74b533f167
Se han modificado 1 ficheros con 9 adiciones y 6 borrados
  1. 9 6
      packages/fcl-db/src/sqldb/interbase/fbadmin.pp

+ 9 - 6
packages/fcl-db/src/sqldb/interbase/fbadmin.pp

@@ -392,13 +392,16 @@ end;
 
 destructor TFBAdmin.Destroy;
 begin
-  if FSvcHandle<>FB_API_NULLHANDLE then
-  begin
-    WaitInterval:=100;
-    DisConnect;
+  try
+    if FSvcHandle<>FB_API_NULLHANDLE then
+    begin
+      WaitInterval:=100;
+      DisConnect; // This can raise an exception
+    end;
+  Finally
+    FOutput.Destroy;
+    inherited Destroy;
   end;
-  FOutput.Destroy;
-  inherited Destroy;
 end;
 
 function TFBAdmin.Connect: boolean;