http://bugs.winehq.org/show_bug.cgi?id=24290
Summary: GetOpenFileName() triggers read of uninitialized variable Product: Wine Version: 1.3.2 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: shell32 AssignedTo: wine-bugs@winehq.org ReportedBy: bart.vanassche@gmail.com
Created an attachment (id=30599) --> (http://bugs.winehq.org/attachment.cgi?id=30599) Application source code and .sln file
How to reproduce: - Extract the attached tgz file. - Build the release configuration with MSVC 2005 SP1 (other MSVC versions will probably work too). - Run the generated .exe under valgrind + wine. The command I used was: $HOME/software/valgrind/vg-in-place --suppressions=$HOME/software/wine-memcheck.supp --trace-children=yes --vex-iropt-precise-memory-exns=yes --num-callers=32 --prefix-to-strip=$HOME/software --error-limit=no --gen-suppressions=all wine mfc-dialog-test.exe >& /open-file-dialog-log.txt - Click on the "Select file ..." button and select a file. - Close the application.
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #1 from Bart Van Assche bart.vanassche@gmail.com 2010-09-06 06:23:30 CDT --- Created an attachment (id=30600) --> (http://bugs.winehq.org/attachment.cgi?id=30600) Valgrind output.
http://bugs.winehq.org/show_bug.cgi?id=24290
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #2 from Dan Kegel dank@kegel.com 2010-09-06 08:55:12 CDT --- Does 'winetricks comctl32' work around the problem?
(Also, you might want to run winemine in the background before starting valgrind to minimize the valgrind run and log file.)
http://bugs.winehq.org/show_bug.cgi?id=24290
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #3 from Bart Van Assche bart.vanassche@gmail.com 2010-09-06 10:04:16 CDT --- Created an attachment (id=30604) --> (http://bugs.winehq.org/attachment.cgi?id=30604) Valgrind output after 'winetricks comctl32'.
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #4 from Bart Van Assche bart.vanassche@gmail.com 2010-09-06 10:05:24 CDT --- (In reply to comment #2)
Does 'winetricks comctl32' work around the problem?
That works around the original problem, but generated a new complaint (see also the third attachment).
(Also, you might want to run winemine in the background before starting valgrind to minimize the valgrind run and log file.)
Thanks for the hint - I will have a look at it.
http://bugs.winehq.org/show_bug.cgi?id=24290
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|shell32 |comctl32
--- Comment #5 from Dan Kegel dank@kegel.com 2010-09-06 10:27:09 CDT --- OK, that means it's probably a bug in wine's comctl32, setting category.
The new complaint with 'winetricks comctl32' is a bug in Microsoft's comctl32, so we can ignore that one here.
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com 2010-09-07 14:34:44 CDT --- Probably a valid problem, yes:
--- pszText = lpLVItem->pszText; bResult = LISTVIEW_GetItemT(infoPtr, lpLVItem, isW); if (bResult && lpLVItem->pszText != pszText) { if (lpLVItem->pszText != LPSTR_TEXTCALLBACKW) textcpynT(pszText, isW, lpLVItem->pszText, isW, lpLVItem->cchTextMax); else pszText = LPSTR_TEXTCALLBACKW; } lpLVItem->pszText = pszText; ---
Here assumption about set pszText is made, and it hasn't to be set here.
http://bugs.winehq.org/show_bug.cgi?id=24290
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #7 from Dan Kegel dank@kegel.com 2010-09-07 14:42:35 CDT --- Confirmed by code inspection, then...
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com 2011-02-22 10:41:52 CST --- Hey, Bart.
I think this was fixed yesterday with commit http://source.winehq.org/git/wine.git/?a=commit;h=f2df2f38e6ff67ff7d4042b259....
Retest please.
http://bugs.winehq.org/show_bug.cgi?id=24290
--- Comment #9 from Bart Van Assche bart.vanassche@gmail.com 2011-02-27 07:46:28 CST --- (In reply to comment #8)
Hey, Bart.
I think this was fixed yesterday with commit http://source.winehq.org/git/wine.git/?a=commit;h=f2df2f38e6ff67ff7d4042b259....
Retest please.
Thanks for the feedback. I can confirm that invoking GetOpenFileName() no longer causes Valgrind complaints.
http://bugs.winehq.org/show_bug.cgi?id=24290
Bart Van Assche bart.vanassche@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #10 from Bart Van Assche bart.vanassche@gmail.com 2011-02-27 07:47:19 CST --- Changed status to resolved.
http://bugs.winehq.org/show_bug.cgi?id=24290
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2011-03-04 12:35:37 CST --- Closing bugs fixed in 1.3.15.
http://bugs.winehq.org/show_bug.cgi?id=24290
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f2df2f38e6ff67ff7d4042b2596 | |6f19f0cc7b735