[4/5] msi: Release summary information on error in msi_parse_patch_summary.

Hans Leidekker hans at codeweavers.com
Tue Apr 13 04:15:55 CDT 2010


---
 dlls/msi/action.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 3322371..5043426 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -501,16 +501,23 @@ static UINT msi_parse_patch_summary( MSIPACKAGE *package, MSIDATABASE *patch_db
     if (msi_check_patch_applicable( package, si ) != ERROR_SUCCESS)
     {
         TRACE("Patch not applicable\n");
+        msiobj_release( &si->hdr );
         return ERROR_SUCCESS;
     }
 
     package->patch = msi_alloc(sizeof(MSIPATCHINFO));
     if (!package->patch)
+    {
+        msiobj_release( &si->hdr );
         return ERROR_OUTOFMEMORY;
+    }
 
     package->patch->patchcode = msi_suminfo_dup_string(si, PID_REVNUMBER);
     if (!package->patch->patchcode)
+    {
+        msiobj_release( &si->hdr );
         return ERROR_OUTOFMEMORY;
+    }
 
     /* enumerate the substorage */
     str = msi_suminfo_dup_string( si, PID_LASTAUTHOR );
-- 
1.7.0.4







More information about the wine-patches mailing list