[Bug 20313] New: Patch "user32: Draw the whole button only if requested" caused uninitialized memory use

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Oct 10 15:17:48 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=20313

           Summary: Patch "user32: Draw the whole button only if
                    requested" caused uninitialized memory use
           Product: Wine
           Version: 1.1.27
          Platform: PC
               URL: http://source.winehq.org/git/wine.git/?a=commit;h=8d54
                    f582776d590b236e288f9ef8085bb221ccab
        OS/Version: Linux
            Status: NEW
          Keywords: download, regression, source
          Severity: normal
          Priority: P2
         Component: user32
        AssignedTo: dmitry at codeweavers.com
        ReportedBy: dank at kegel.com
                CC: wine-bugs at winehq.org


Running the ntdll tests under valgrind, I get a crash.
Because I also happen to have visual studio 2005 installed,
I got a handy crash dialog offering to debug.
That dialog seemed to cause the following valgrind error:

Conditional jump or move depends on uninitialised value(s)
   at IsRectEmpty (uitools.c:1282)
   by IntersectRect (uitools.c:1331)
   by PB_Paint (button.c:880)
   by paint_button (button.c:207)
   by ButtonWndProc_common (button.c:450)
   by ButtonWndProcW (button.c:564)
   ...
   by SetFocus (focus.c:293)
   by ButtonWndProc_common (button.c:336)
   by ButtonWndProcW (button.c:564)
   ...
 Uninitialised value was created by a stack allocation
   at PB_Paint (button.c:802)

Either adding the line
   memset(&focus_rect, 0, sizeof(focus_rect));
at the top of PB_Paint, or reverting the patch
http://source.winehq.org/git/wine.git/?a=commit;h=8d54f582776d590b236e288f9ef8085bb221ccab
makes the warning go away.  Evidently that patch
jumped over the initialization of that variable
when it shouldn't have...

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list