http://bugs.winehq.org/show_bug.cgi?id=20318
Summary: RtlFreeHeap() valgrind annotation wrong in error path Product: Wine Version: 1.1.31 Platform: PC OS/Version: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com CC: m.b.lankhorst@gmail.com
Running the kernel32 heap tests under valgrind produces the warning
Invalid free() / delete / delete[] at notify_free (heap.c:222) by RtlFreeHeap (heap.c:1474) by HeapFree (heap.c:281) by GlobalFree (heap.c:749) by test_heap (heap.c:219) Address 0x7f0371f0 is 12 bytes after a block of size 2,020 alloc'd at notify_alloc (heap.c:214) by RtlAllocateHeap (heap.c:1421) by get_tls_data (test.h:216) by winetest_set_location (test.h:252) by test_heap (heap.c:72)
which probably indicates that the valgrind annotation at line 1474 of ntdll/heap.c needs to be moved down to done: at line 1492, or something like that, so if the sanity checks fail, we don't tell valgrind we're freeing a block.