http://bugs.winehq.org/show_bug.cgi?id=5126
Summary: Wine does expose internal structures to applications via ListView_GetItemT Product: Wine Version: 0.9.11. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-winelib AssignedTo: wine-bugs@winehq.org ReportedBy: bugs@fabian-franz.de
Buggy application is snes9x, affected file is listview.c.
It does change the item.mask in the GETDISPINFO request, which later leads to a failed assertion (as LVIF_INDENT is no longer set).
This is for sure an application bug, but GetItemT is stated to be internal and such avoids copying. This is fine, but whenever data is exchanged with applications wine should copy only those data that the application is allowed to actually change. Else applications could do whatever they want with the internal data structures, which for sure is not wanted and leads to side effects as described above.
To reproduce the bug:
- Download snes9x - Go to the "Open file" dialog -> assertion
Just wanted to report it.