dlls/include/list.h: remove_list() failed when removing first
or last element
Markus Gömmel
m.goemmel at compulab.de
Thu Nov 10 04:21:03 CST 2005
Hi,
> Sorry, but the patch is wrong. The Wine list implementation makes sure
> that next and prev are always valid pointers, such that the list is
> circular. The only way to detect the end of the list is if entry->next ==
> start. If one of the entries is NULL then this generally indicates either
> a use after free or some other kind of corruption of the memory used by
> the list.
> If the memory is in the heap then HeapValidate may help find the
> corruption.
If you say this, I will willingly believe it. I did some debugging searching
for an exception which was caused by one of my applications, and at a
certain point there are four calls of HeapAlloc(). Three of them worked
great, but the forth failed cause elem->next was 0. So my idea was that its
cause of it's the last entry. The other pointers looked really well. So do
you think the is a heap corruption caused by my application or by some other
part of Wine?
> One further note: on projects as big as Wine patching the ChangeLog is not
> practical as it would result in a lot of conflicts. Therefore, Alexandre
> Julliard automatically generates ChangeLog entries from CVS just before
> each release.
Oh, I only did it cause its requested on
http://www.winehq.com/site/sending_patches:
"When submitting patches, please:
Include a ChangeLog entry with your name, email address and a description of
what your patch does."
Did I understand something wrong here???
Cheers
Markus Gömmel
m.goemmel at compulab.de
More information about the wine-devel
mailing list