- make sure msihandle2msiinfo is correctly matched with msiobj_release
authorJuan Lang <juan_lang@yahoo.com>
Thu, 10 Mar 2005 11:15:40 +0000 (11:15 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 10 Mar 2005 11:15:40 +0000 (11:15 +0000)
- don't do redundant NULL checks

dlls/msi/action.c
dlls/msi/format.c
dlls/msi/msi.c
dlls/msi/msiquery.c
dlls/msi/package.c
dlls/msi/preview.c
dlls/msi/record.c
dlls/msi/suminfo.c

index 07c8fcf376d98cacbe4886a02303f70686e43a6d..34cc0e9a27519b442e44d31d6cd2a6d6de4e75be 100644 (file)
@@ -6546,6 +6546,7 @@ UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall, LPCWSTR szFeature,
 {
     MSIPACKAGE* package;
     INT index;
+    UINT rc = ERROR_SUCCESS;
 
     TRACE(" %s to %i\n",debugstr_w(szFeature), iState);
 
@@ -6555,12 +6556,17 @@ UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall, LPCWSTR szFeature,
 
     index = get_loaded_feature(package,szFeature);
     if (index < 0)
-        return ERROR_UNKNOWN_FEATURE;
+    {
+        rc = ERROR_UNKNOWN_FEATURE;
+        goto end;
+    }
 
     package->features[index].ActionRequest= iState;
     ACTION_UpdateComponentStates(package,szFeature);
 
-    return ERROR_SUCCESS;
+end:
+    msiobj_release( &package->hdr );
+    return rc;
 }
 
 UINT WINAPI MsiGetFeatureStateA(MSIHANDLE hInstall, LPSTR szFeature,
index 9d069e3e7655e4333a44f2833c76452dd1a32f50..3e769da84feb953e83cea9aacd4949fefcd4deb5 100644 (file)
@@ -538,11 +538,8 @@ UINT WINAPI MsiFormatRecordW( MSIHANDLE hInstall, MSIHANDLE hRecord,
 
     package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
 
-    if( record )
-    {
-        r = MSI_FormatRecordW( package, record, szResult, sz );
-        msiobj_release( &record->hdr );
-    }
+    r = MSI_FormatRecordW( package, record, szResult, sz );
+    msiobj_release( &record->hdr );
     if (package)
         msiobj_release( &package->hdr );
     return r;
@@ -572,11 +569,8 @@ UINT WINAPI MsiFormatRecordA( MSIHANDLE hInstall, MSIHANDLE hRecord,
 
     package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
 
-    if( record )
-    {
-        r = MSI_FormatRecordA( package, record, szResult, sz );
-        msiobj_release( &record->hdr );
-    }
+    r = MSI_FormatRecordA( package, record, szResult, sz );
+    msiobj_release( &record->hdr );
     if (package)
         msiobj_release( &package->hdr );
     return r;
index 9b91493e9c17b51ed4524b85af095d5506b877ea..e306b1f07cc57d7e7b59f56832779e9ab2192a55 100644 (file)
@@ -484,6 +484,11 @@ UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
         goto end;
 
     package = msihandle2msiinfo(handle, MSIHANDLETYPE_PACKAGE);
+    if (!package)
+    {
+        rc = ERROR_INVALID_HANDLE;
+        goto end;
+    }
   
     sz = strlenW(szInstalled);
 
index 6f9a207b1939ade6dd31c6bb5af9f6e4780613a4..434266b7ecee9571f88c98f9c2d4112b0c202c59 100644 (file)
@@ -423,8 +423,7 @@ UINT WINAPI MsiViewExecute(MSIHANDLE hView, MSIHANDLE hRec)
     msiobj_unlock( &rec->hdr );
 
 out:
-    if( query )
-        msiobj_release( &query->hdr );
+    msiobj_release( &query->hdr );
     if( rec )
         msiobj_release( &rec->hdr );
 
@@ -481,8 +480,7 @@ UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE hView, MSICOLINFO info, MSIHANDLE *hR
     *hRec = alloc_msihandle( &rec->hdr );
 
 out:
-    if( query )
-        msiobj_release( &query->hdr );
+    msiobj_release( &query->hdr );
     if( rec )
         msiobj_release( &rec->hdr );
 
@@ -520,8 +518,7 @@ UINT WINAPI MsiViewModify( MSIHANDLE hView, MSIMODIFY eModifyMode,
     r = view->ops->modify( view, eModifyMode, rec );
 
 out:
-    if( query )
-        msiobj_release( &query->hdr );
+    msiobj_release( &query->hdr );
     if( rec )
         msiobj_release( &rec->hdr );
 
index 086bd6b993f474aea5f595a20d6cd7728effc7d5..7ba966b863e977b0fd5a1e7ee432d0a8af1326dd 100644 (file)
@@ -617,7 +617,7 @@ INT WINAPI MsiProcessMessage( MSIHANDLE hInstall, INSTALLMESSAGE eMessageType,
 
     package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
     if( !package )
-        goto out;
+        return ERROR_INVALID_HANDLE;
 
     record = msihandle2msiinfo( hRecord, MSIHANDLETYPE_RECORD );
     if( !record )
@@ -626,8 +626,7 @@ INT WINAPI MsiProcessMessage( MSIHANDLE hInstall, INSTALLMESSAGE eMessageType,
     ret = MSI_ProcessMessage( package, eMessageType, record );
 
 out:
-    if( package )
-        msiobj_release( &package->hdr );
+    msiobj_release( &package->hdr );
     if( record )
         msiobj_release( &record->hdr );
 
index 03c7436ddd2fc8afdf661fbb7dc10b28a504d6ad..5df8ef0e796c7eeebbe58858cf817b71a43dbe3e 100644 (file)
@@ -77,6 +77,7 @@ UINT WINAPI MsiEnableUIPreview( MSIHANDLE hdb, MSIHANDLE* phPreview )
         msiobj_release( &preview->hdr );
         r = ERROR_SUCCESS;
     }
+    msiobj_release( &db->hdr );
 
     return r;
 }
index c721e25d4072618c444a78351817f1672fa2adad..c785fd5fadacd9ab18fa759d75667d08ca53396b 100644 (file)
@@ -210,6 +210,7 @@ UINT WINAPI MsiRecordClearData( MSIHANDLE handle )
         rec->fields[i].u.iVal = 0;
     }
     msiobj_unlock( &rec->hdr );
+    msiobj_release( &rec->hdr );
 
     return ERROR_SUCCESS;
 }
index 6443d485c018d3f2a76410b3146795db9fcd5c9a..6f39d5cf8a72da4e66bf81ddaa3d088f5c559f10 100644 (file)
@@ -159,6 +159,7 @@ UINT WINAPI MsiSummaryInfoGetPropertyCount(MSIHANDLE hSummaryInfo, UINT *pCount)
     if( !suminfo )
         return ERROR_INVALID_HANDLE;
 
+    msiobj_release( &suminfo->hdr );
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
 
@@ -170,6 +171,7 @@ UINT WINAPI MsiSummaryInfoGetPropertyA(
     HRESULT r;
     PROPSPEC spec;
     PROPVARIANT var;
+    UINT rc = ERROR_SUCCESS;
 
     TRACE("%ld %d %p %p %p %p %p\n",
         hSummaryInfo, uiProperty, puiDataType, piValue,
@@ -184,7 +186,10 @@ UINT WINAPI MsiSummaryInfoGetPropertyA(
 
     r = IPropertyStorage_ReadMultiple( suminfo->propstg, 1, &spec, &var);
     if( FAILED(r) )
-        return ERROR_FUNCTION_FAILED;
+    {
+        rc = ERROR_FUNCTION_FAILED;
+        goto end;
+    }
 
     if( puiDataType )
         *puiDataType = var.vt;
@@ -213,7 +218,9 @@ UINT WINAPI MsiSummaryInfoGetPropertyA(
         break;
     }
 
-    return ERROR_SUCCESS;
+end:
+    msiobj_release( &suminfo->hdr );
+    return rc;
 }
 
 UINT WINAPI MsiSummaryInfoGetPropertyW(
@@ -224,6 +231,7 @@ UINT WINAPI MsiSummaryInfoGetPropertyW(
     HRESULT r;
     PROPSPEC spec;
     PROPVARIANT var;
+    UINT rc = ERROR_SUCCESS;
 
     TRACE("%ld %d %p %p %p %p %p\n",
         hSummaryInfo, uiProperty, puiDataType, piValue,
@@ -238,7 +246,10 @@ UINT WINAPI MsiSummaryInfoGetPropertyW(
 
     r = IPropertyStorage_ReadMultiple( suminfo->propstg, 1, &spec, &var);
     if( FAILED(r) )
-        return ERROR_FUNCTION_FAILED;
+    {
+        rc = ERROR_FUNCTION_FAILED;
+        goto end;
+    }
 
     if( puiDataType )
         *puiDataType = var.vt;
@@ -268,7 +279,9 @@ UINT WINAPI MsiSummaryInfoGetPropertyW(
         break;
     }
 
-    return ERROR_SUCCESS;
+end:
+    msiobj_release( &suminfo->hdr );
+    return rc;
 }
 
 UINT WINAPI MsiSummaryInfoSetPropertyA( MSIHANDLE hSummaryInfo, UINT uiProperty,