msi: fix some leaking handles

Aric Stewart aric at codeweavers.com
Mon May 9 11:16:41 CDT 2005


fix a few leaking object handles.
-------------- next part --------------
? dlls/msi/action.h.txt
? dlls/msi/action.txt
? dlls/msi/msi.spec.def
? dlls/msi/tests/condition.c
Index: dlls/msi/action.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/action.c,v
retrieving revision 1.111
diff -u -r1.111 action.c
--- dlls/msi/action.c	28 Apr 2005 18:28:11 -0000	1.111
+++ dlls/msi/action.c	9 May 2005 16:15:18 -0000
@@ -656,12 +656,14 @@
         if (rc != ERROR_SUCCESS)
         {
             MSI_ViewClose(view);
+            msiobj_release(&view->hdr);
             return;
         }
         rc = MSI_ViewFetch(view,&row);
         if (rc != ERROR_SUCCESS)
         {
             MSI_ViewClose(view);
+            msiobj_release(&view->hdr);
             return;
         }
 
@@ -1713,6 +1715,7 @@
                   c_indx);
             package->features[index].Components[cnt] = c_indx;
             package->features[index].ComponentCount ++;
+            msiobj_release( &row2->hdr );
             continue;
         }
 
Index: dlls/msi/dialog.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/dialog.c,v
retrieving revision 1.13
diff -u -r1.13 dialog.c
--- dlls/msi/dialog.c	27 Apr 2005 10:16:57 -0000	1.13
+++ dlls/msi/dialog.c	9 May 2005 16:15:18 -0000
@@ -1235,6 +1235,7 @@
     if( dialog->hwnd )
         DestroyWindow( dialog->hwnd );
 
+    msiobj_release( &dialog->package->hdr );
     dialog->package = NULL;
     HeapFree( GetProcessHeap(), 0, dialog );
 }


More information about the wine-patches mailing list