Re: comctl32/treeview: Protect TVM_GETITEM from invalid item pointers
Nikolay Sivov <nsivov(a)codeweavers.com> writes:
@@ -2101,9 +2102,17 @@ TREEVIEW_GetItemT(const TREEVIEW_INFO *infoPtr, LPTVITEMEXW tvItem, BOOL isW) { if (!item) return FALSE;
- TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr); - infoPtr = item->infoPtr; - if (!TREEVIEW_ValidItem(infoPtr, item)) return FALSE; + __TRY + { + infoPtr = item->infoPtr; + TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr); + if (!TREEVIEW_ValidItem(infoPtr, item)) return FALSE;
You can't return from a try block. Also have you verified that this is not just masking some other Wine bug? -- Alexandre Julliard julliard(a)winehq.org
On 2/22/2013 14:09, Alexandre Julliard wrote:
Nikolay Sivov <nsivov(a)codeweavers.com> writes:
@@ -2101,9 +2102,17 @@ TREEVIEW_GetItemT(const TREEVIEW_INFO *infoPtr, LPTVITEMEXW tvItem, BOOL isW) { if (!item) return FALSE;
- TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr); - infoPtr = item->infoPtr; - if (!TREEVIEW_ValidItem(infoPtr, item)) return FALSE; + __TRY + { + infoPtr = item->infoPtr; + TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr); + if (!TREEVIEW_ValidItem(infoPtr, item)) return FALSE; You can't return from a try block. Ah, thanks.
Also have you verified that this is not just masking some other Wine bug? Honestly, I have not. I only looked at +treeview log attached to bug. Will try to figure out what's going on exactly.
participants (2)
-
Alexandre Julliard -
Nikolay Sivov