https://bugs.winehq.org/show_bug.cgi?id=55623
Bug ID: 55623 Summary: The 32-bit imm32:imm32 gets a stack overflow in UTF-8 locales Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: imm32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
The 32-bit imm32:imm32 gets a stack overflow in UTF-8 locales:
imm32:imm32 start dlls/imm32/tests/imm32.c imm32:imm32:17c4 done (-1073740791) in 2s 0B
See https://test.winehq.org/data/patterns.html#imm32:imm32
Where -1073740791 == 0xC0000409 == STATUS_STACK_BUFFER_OVERRUN
This crash is systematic and specific to the combination of the 32-bit test and UTF-8 locales: * w10pro64_hi + 32-bit -> success * w10pro64_hi + 64-bit -> success * w10pro64_hi_u8 + 32-bit -> crash * w10pro64_hi_u8 + 64-bit -> success * w10pro64_en_AE_u8 + 32-bit -> crash * w10pro64_en_AE_u8 + 64-bit -> success
The traces indicate that the crash happens between ImmUnlockIMC() and return TRUE in ime_ImeSelect():
ImmUnlockIMC( himc ); }
return TRUE;
ime_ImeSelect() gets called during test_ImmSetCompositionFont(FALSE):
ok_ret( 1, ImmActivateLayout( hkl ) );