Prevent accessing freed memory in failure case.
authorUlrich Czekalla <ulrich@codeweavers.com>
Thu, 24 Feb 2005 10:05:27 +0000 (10:05 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 24 Feb 2005 10:05:27 +0000 (10:05 +0000)
dlls/msi/action.c

index e773fea0fb854536e5a83b85a65ed00af82c4119..92d9c987d4063fe67eddf406c57384a1aa7261da 100644 (file)
@@ -3206,7 +3206,6 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
         }
 
         dest = build_directory_name(2, dest_path, dest_name);
-        HeapFree(GetProcessHeap(), 0, dest_path);
            
         TRACE("Duplicating file %s to %s\n",debugstr_w(file_source),
               debugstr_w(dest)); 
@@ -3222,6 +3221,7 @@ static UINT ACTION_DuplicateFiles(MSIPACKAGE *package)
         FIXME("We should track these duplicate files as well\n");   
  
         msiobj_release(&row->hdr);
+        HeapFree(GetProcessHeap(),0,dest_path);
         HeapFree(GetProcessHeap(),0,dest);
         HeapFree(GetProcessHeap(),0,file_source);
     }