http://bugs.winehq.org/show_bug.cgi?id=30850
Bug #: 30850 Summary: use-after-free error when running Gigasoft ProEssentials graph component? Product: Wine Version: 1.5.5 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com Classification: Unclassified
A real app that uses gigasoft's graphing component is having a strange clipping problem when using gigasoft's "scientific graph" component. Their canned demo doesn't run well enough to test that component (see bug 30826), so I extracted just the part that displays a "scientific" graph. It seems to run fine, but valgrind complains about some use-after-free problems:
Invalid read of size 4 at HEAP_FindFreeBlock (heap.c:1003) by RtlAllocateHeap (heap.c:1688) by init_region (region.c:485) by REGION_RegionOp (region.c:1742) by REGION_UnionRegion (region.c:2170) by CombineRgn (region.c:1366) by add_cap.isra.7 (objects.c:1227) by wide_line_segments (objects.c:1470) by wide_pen_lines (objects.c:1526) by dibdrv_LineTo (graphics.c:891) by LineTo (painting.c:242) by ??? (in /home/dank/demo100/PEGRP32E.DLL) by EnumMetaFile (metafile.c:537) by ??? (in /home/dank/demo100/PEGRP32E.DLL)
This looks a lot like the warn+heap crash in bug 30826.
Right-clicking on the demo and exporting it as a .wmf, then loading it in to a simple app that plays back metafiles with PlayMetaFile under valgrind shows no warnings in playback.
Source, executable, and a script to install visual C++ and compile the executable are attached. To reproduce: see last few lines of demo.sh in the attached archive.