Bug in the heap management code?
wine-devel at shemesh.biz
Thu Sep 18 10:49:01 CDT 2003
Mike Hearn wrote:
>This is very much like a problem I am having with InstallShield.
>Something, somewhere, is trashing the heap data structures, which causes
>a crash some time later, often yards away from the original bug. As far
>as I know, there is no good way to spot this problem, it's just C/C++
>sucking.... maybe valgrind might help?
Something else that might help is an algorithm I suggested a long time
ago, and which was not thought as worth the effort. Since I have not
tried to run Wine with valgrind yet, I don't know whether it is or isn't.
The gist of it is that you pad each and every alloc with more memory,
and you fill it in with signatures. When you release the memory, you
check that the signatures are ok. Tweaking the amount of extra memory
can cause you to not corrupt the heap structure at some point, which
will allow you reliable pin-pointing the buffer in which the overflow
I have never worked with valgrind (though I love the principle behind
it), so I can't say whether it is more effective at this sort of
problems. My method, in any case, is not very difficult to implement, so
if valgrind does not provide what you need, I may invest the time in it.
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/
More information about the wine-devel