Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> writes:
@@ -1076,10 +1077,19 @@ TOOLTIPS_AddToolT (TOOLTIPS_INFO *infoPtr, const TTTOOLINFOW *ti, BOOL isW) toolPtr->lpszText = LPSTR_TEXTCALLBACKW; } else if (isW) { - INT len = lstrlenW (ti->lpszText); - TRACE("add text %s!\n", debugstr_w(ti->lpszText)); - toolPtr->lpszText = Alloc ((len + 1)*sizeof(WCHAR)); - strcpyW (toolPtr->lpszText, ti->lpszText); + __TRY + { + INT len = lstrlenW (ti->lpszText); + TRACE("add text %s!\n", debugstr_w(ti->lpszText)); + toolPtr->lpszText = Alloc ((len + 1)*sizeof(WCHAR)); + strcpyW (toolPtr->lpszText, ti->lpszText); + } + __EXCEPT_PAGE_FAULT + { + WARN("Invalid lpszText.\n"); + return FALSE;
You can't just return like that without cleaning up. -- Alexandre Julliard julliard(a)winehq.org