msi: Fix a couple of leaks (coverity).

This commit is contained in:
Frédéric Delanoy 2012-11-16 18:38:02 +01:00 committed by Alexandre Julliard
parent 37419c4af2
commit fcbc5cc5bb
2 changed files with 11 additions and 2 deletions

View File

@ -336,7 +336,8 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
if (rc != ERROR_SUCCESS)
{
ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
return ERROR_FUNCTION_FAILED;
rc = ERROR_FUNCTION_FAILED;
goto done;
}
if (!file->Component->Enabled) continue;
@ -513,7 +514,8 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
if (rc != ERROR_SUCCESS)
{
ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
return ERROR_FUNCTION_FAILED;
rc = ERROR_FUNCTION_FAILED;
goto done;
}
comp->Action = msi_get_component_action( package, comp );
if (!comp->Enabled || comp->Action != INSTALLSTATE_LOCAL) continue;

View File

@ -1567,13 +1567,17 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
{
r = msi_create_empty_local_file( localfile, dotmsi );
if (r != ERROR_SUCCESS)
{
msi_free ( base_url );
return r;
}
if (!CopyFileW( file, localfile, FALSE ))
{
r = GetLastError();
WARN("unable to copy package %s to %s (%u)\n", debugstr_w(file), debugstr_w(localfile), r);
DeleteFileW( localfile );
msi_free ( base_url );
return r;
}
delete_on_close = TRUE;
@ -1581,7 +1585,10 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
TRACE("opening package %s\n", debugstr_w( localfile ));
r = MSI_OpenDatabaseW( localfile, MSIDBOPEN_TRANSACT, &db );
if (r != ERROR_SUCCESS)
{
msi_free ( base_url );
return r;
}
}
package = MSI_CreatePackage( db, base_url );
msi_free( base_url );