소스 검색

* Fix bug #37852, possible memleak

git-svn-id: trunk@47343 -
michael 5 년 전
부모
커밋
74b533f167
1개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  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;