Bug in the heap management code?

Michael Günnewig MichaelGuennewig at gmx.de
Sun Sep 21 08:56:40 CDT 2003


MichaelGuennewig at gmx.de (Michael Günnewig) writes:

> Have done some tests with some other programms which seems to work and
> get the following (and some more which I was able to fix myself):
> ,-----
> | ==3597== 6 errors in context 4 of 5:
> | ==3597== Conditional jump or move depends on uninitialised value(s)
> | ==3597==    at 0x402606D7: HEAP_ValidateInUseArena (heap.c:854)
> | ==3597==    by 0x40260A40: HEAP_IsRealArena (heap.c:965)
> | ==3597==    by 0x402615F2: RtlValidateHeap (heap.c:1489)
> | ==3597==    by 0x4145E5B0: HeapValidate (heap.c:199)
> | ==3597== 
> `-----
>
> At heap.c:854 (it's ntdll/heap.c Version 1.23):
>     ,-----
> 851 |     }
> 852 | 
> 853 |     /* Check magic number */
> 854 |     if (pArena->magic != ARENA_INUSE_MAGIC)
> 855 |     {
> 856 |         if (quiet == NOISY) {
> 857 |         ERR("Heap %08lx: invalid in-use arena magic for %08lx\n",
>     `-----
>
> Will try to find out who is the bad guy ... can someone guide me?

Okay, these will occur when releasing a memory block allocated by
GlobalAlloc without the GMEM_ZEROINIT flag. When adding the flag
valgrind is happy. Does that mean that's a bug in valgrind or in wine?


  Michael





More information about the wine-devel mailing list