diff --git a/reactos/win32ss/user/ntuser/message.c b/reactos/win32ss/user/ntuser/message.c index 6d01944aceb..5e6c26ea687 100644 --- a/reactos/win32ss/user/ntuser/message.c +++ b/reactos/win32ss/user/ntuser/message.c @@ -174,7 +174,14 @@ MsgMemorySize(PMSGMEMORY MsgMemoryEntry, WPARAM wParam, LPARAM lParam) } else if (MMS_SIZE_LPARAMSZ == MsgMemoryEntry->Size) { - Size = (UINT) ((wcslen((PWSTR) lParam) + 1) * sizeof(WCHAR)); + // WM_SETTEXT and WM_SETTINGCHANGE can be null! + if (!lParam) + { + TRACE("lParam is NULL!\n"); + Size = 0; + } + else + Size = (UINT) ((wcslen((PWSTR) lParam) + 1) * sizeof(WCHAR)); } else if (MMS_SIZE_SPECIAL == MsgMemoryEntry->Size) { @@ -436,6 +443,7 @@ CopyMsgToKernelMem(MSG *KernelModeMsg, MSG *UserModeMsg, PMSGMEMORY MsgMemoryEnt /* Copy data if required */ if (0 != (MsgMemoryEntry->Flags & MMS_FLAG_READ)) { + TRACE("Copy Message %d from usermode buffer\n", KernelModeMsg->message); Status = MmCopyFromCaller(KernelMem, (PVOID) UserModeMsg->lParam, Size); if (! NT_SUCCESS(Status)) {