server: Avoid accessing free'd thread pointers.

Alexandre Julliard julliard at winehq.org
Fri Nov 10 08:13:20 CST 2006


Eric Pouech <eric.pouech at wanadoo.fr> writes:

> reading from wine/list.h
> #define LIST_FOR_EACH_SAFE(cursor, cursor2, list) \
>    for ((cursor) = (list)->next, (cursor2) = (cursor)->next; \
>         (cursor) != (list); \
>         (cursor) = (cursor2), (cursor2) = (cursor)->next)
>
> well, to me, the "(cursor2) = (cursor)->next" accesses cursor *AFTER*
> it has been potentially freed

No, cursor has just been set to cursor2.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list