diff --git a/patches/msi-Fix_Stack_Alignment/0001-msi-Fix-stack-alignment-in-CUSTOMPROC_wrapper.patch b/patches/msi-Fix_Stack_Alignment/0001-msi-Fix-stack-alignment-in-CUSTOMPROC_wrapper.patch new file mode 100644 index 00000000..a2d9dd02 --- /dev/null +++ b/patches/msi-Fix_Stack_Alignment/0001-msi-Fix-stack-alignment-in-CUSTOMPROC_wrapper.patch @@ -0,0 +1,25 @@ +From 2e8e5ea86b19ca4f95c0f07b79c6f201b61f7b09 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Tue, 15 Mar 2016 17:41:24 +0100 +Subject: msi: Fix stack alignment in CUSTOMPROC_wrapper. + +Spotted by Dmitry Timoshkov. +--- + dlls/msi/custom.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c +index 4e934bd..35a1b5c 100644 +--- a/dlls/msi/custom.c ++++ b/dlls/msi/custom.c +@@ -539,6 +539,7 @@ __ASM_GLOBAL_FUNC( CUSTOMPROC_wrapper, + __ASM_CFI(".cfi_rel_offset %ebp,0\n\t") + "movl %esp,%ebp\n\t" + __ASM_CFI(".cfi_def_cfa_register %ebp\n\t") ++ "subl $4,%esp\n\t" + "pushl 12(%ebp)\n\t" + "movl 8(%ebp),%eax\n\t" + "call *%eax\n\t" +-- +2.7.1 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index e39a52ba..ab9d0684 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -193,6 +193,7 @@ patch_enable_all () enable_mpr_WNetGetUniversalNameW="$1" enable_mscoree_CorValidateImage="$1" enable_mshtml_HTMLLocation_put_hash="$1" + enable_msi_Fix_Stack_Alignment="$1" enable_msidb_Implementation="$1" enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" enable_msvcrt_Math_Precision="$1" @@ -747,6 +748,9 @@ patch_enable () mshtml-HTMLLocation_put_hash) enable_mshtml_HTMLLocation_put_hash="$2" ;; + msi-Fix_Stack_Alignment) + enable_msi_Fix_Stack_Alignment="$2" + ;; msidb-Implementation) enable_msidb_Implementation="$2" ;; @@ -4507,6 +4511,18 @@ if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then ) >> "$patchlist" fi +# Patchset msi-Fix_Stack_Alignment +# | +# | Modified files: +# | * dlls/msi/custom.c +# | +if test "$enable_msi_Fix_Stack_Alignment" -eq 1; then + patch_apply msi-Fix_Stack_Alignment/0001-msi-Fix-stack-alignment-in-CUSTOMPROC_wrapper.patch + ( + echo '+ { "Sebastian Lackner", "msi: Fix stack alignment in CUSTOMPROC_wrapper.", 1 },'; + ) >> "$patchlist" +fi + # Patchset msidb-Implementation # | # | Modified files: