From: Sergey Kolomenkin Date: Mon, 7 Dec 2015 20:54:57 +0000 (-0800) Subject: fix null pointer crash in Win32 because esp register is broken X-Git-Tag: v1.6.0~496^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5fc9688792735888731acaf5e2628cd1b3a76d1b;p=libvpx fix null pointer crash in Win32 because esp register is broken https://bugs.chromium.org/p/webm/issues/detail?id=1105 Change-Id: I304ea85ea1f6474e26f074dc39dc0748b90d4d3d --- diff --git a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm index 93df92a9e..5f9c963d4 100644 --- a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm +++ b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm @@ -124,7 +124,6 @@ SECTION .text ; Store bilin_filter and pw_8 location in stack GET_GOT eax - add esp, 4 ; restore esp lea ecx, [GLOBAL(bilin_filter_m)] mov g_bilin_filterm, ecx @@ -132,6 +131,7 @@ SECTION .text lea ecx, [GLOBAL(pw_8)] mov g_pw_8m, ecx + RESTORE_GOT ; restore esp LOAD_IF_USED 0, 1 ; load eax, ecx back %else cglobal highbd_sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, \ @@ -141,7 +141,6 @@ SECTION .text ; Store bilin_filter and pw_8 location in stack GET_GOT eax - add esp, 4 ; restore esp lea ecx, [GLOBAL(bilin_filter_m)] mov g_bilin_filterm, ecx @@ -149,6 +148,7 @@ SECTION .text lea ecx, [GLOBAL(pw_8)] mov g_pw_8m, ecx + RESTORE_GOT ; restore esp LOAD_IF_USED 0, 1 ; load eax, ecx back %endif %else diff --git a/vpx_dsp/x86/subpel_variance_sse2.asm b/vpx_dsp/x86/subpel_variance_sse2.asm index 05dcff75e..1176a2f4c 100644 --- a/vpx_dsp/x86/subpel_variance_sse2.asm +++ b/vpx_dsp/x86/subpel_variance_sse2.asm @@ -140,7 +140,6 @@ SECTION .text ;Store bilin_filter and pw_8 location in stack GET_GOT eax - add esp, 4 ; restore esp lea ecx, [GLOBAL(bilin_filter_m)] mov g_bilin_filterm, ecx @@ -148,6 +147,7 @@ SECTION .text lea ecx, [GLOBAL(pw_8)] mov g_pw_8m, ecx + RESTORE_GOT ; restore esp LOAD_IF_USED 0, 1 ; load eax, ecx back %else cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, \ @@ -157,7 +157,6 @@ SECTION .text ;Store bilin_filter and pw_8 location in stack GET_GOT eax - add esp, 4 ; restore esp lea ecx, [GLOBAL(bilin_filter_m)] mov g_bilin_filterm, ecx @@ -165,6 +164,7 @@ SECTION .text lea ecx, [GLOBAL(pw_8)] mov g_pw_8m, ecx + RESTORE_GOT ; restore esp LOAD_IF_USED 0, 1 ; load eax, ecx back %endif %else