On Fri, 2012-11-16 at 11:50 +0100, Frédéric Delanoy wrote: > diff --git a/dlls/msi/files.c b/dlls/msi/files.c > index 11913ef..98d7513 100644 > --- a/dlls/msi/files.c > +++ b/dlls/msi/files.c > @@ -336,6 +336,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package) > if (rc != ERROR_SUCCESS) > { > ERR("Unable to load media info for %s (%u)\n", > debugstr_w(file->File), rc); > + msi_free(mi); > return ERROR_FUNCTION_FAILED;
This is a loop, so you should instead call msi_free_media_info to also free any strings allocated in a previous call to msi_load_media_info.