From: Dmitry Timoshkov dmitry@baikal.ru
Use same buffer size as dlls/user32/dde_misc.c does.
Wine-Bug: http://bugs.winehq.org/show_bug.cgi?id=10349 Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/user.exe16/message.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c index 9d3472d5ce2..a7126049c05 100644 --- a/dlls/user.exe16/message.c +++ b/dlls/user.exe16/message.c @@ -34,6 +34,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(msg); WINE_DECLARE_DEBUG_CHANNEL(message);
+#define MAX_ATOM_LEN 255 + DWORD USER16_AlertableWait = 0;
struct wow_handlers32 wow_handlers32; @@ -881,9 +883,9 @@ LRESULT WINPROC_CallProc16To32A( winproc_callback_t callback, HWND16 hwnd, UINT1 UINT_PTR lo = LOWORD(lParam); UINT_PTR hi = HIWORD(lParam); int flag = 0; - char buf[2]; + char buf[MAX_ATOM_LEN + 1];
- if (GlobalGetAtomNameA(hi, buf, 2) > 0) flag |= 1; + if (GlobalGetAtomNameA(hi, buf, sizeof(buf)) > 0) flag |= 1; if (GlobalSize16(hi) != 0) flag |= 2; switch (flag) { @@ -1262,7 +1264,7 @@ LRESULT WINPROC_CallProc32ATo16( winproc_callback16_t callback, HWND hwnd, UINT { UINT_PTR lo, hi; int flag = 0; - char buf[2]; + char buf[MAX_ATOM_LEN + 1];
UnpackDDElParam( msg, lParam, &lo, &hi );