From: Roman Pišl rpisl@seznam.cz
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48559
Signed-off-by: Roman Pišl rpisl@seznam.cz --- dlls/user32/winproc.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c index d2e4b29fc44..eff24bb3f2d 100644 --- a/dlls/user32/winproc.c +++ b/dlls/user32/winproc.c @@ -24,6 +24,7 @@ #include "dbt.h" #include "wine/asm.h" #include "wine/debug.h" +#include <assert.h>
WINE_DEFAULT_DEBUG_CHANNEL(msg); WINE_DECLARE_DEBUG_CHANNEL(relay); @@ -332,7 +333,10 @@ LRESULT WINPROC_CallProcAtoW( winproc_callback_t callback, HWND hwnd, UINT msg, { WCHAR buffer[512]; /* FIXME: fixed sized buffer */
+ buffer[ARRAY_SIZE(buffer) - 1] = 0; ret = callback( hwnd, msg, wParam, (LPARAM)buffer, result, arg ); + assert(!buffer[ARRAY_SIZE(buffer) - 1]); + if (*result >= 0) { DWORD len; @@ -604,7 +608,10 @@ static LRESULT WINPROC_CallProcWtoA( winproc_callback_t callback, HWND hwnd, UIN { char buffer[512]; /* FIXME: fixed sized buffer */
+ buffer[ARRAY_SIZE(buffer) - 1] = 0; ret = callback( hwnd, msg, wParam, (LPARAM)buffer, result, arg ); + assert(!buffer[ARRAY_SIZE(buffer) - 1]); + if (*result >= 0) { DWORD len;