comctl32/treeview: Protect TVM_GETITEM from invalid item pointers
Nikolay Sivov
bunglehead at gmail.com
Fri Feb 22 04:34:22 CST 2013
On 2/22/2013 14:09, Alexandre Julliard wrote:
> Nikolay Sivov <nsivov at 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.
More information about the wine-devel
mailing list