http://bugs.winehq.org/show_bug.cgi?id=30691
Bug #: 30691 Summary: excessive operator '&' in GetThemeSysFont(); can probably lead to segfault Product: Wine Version: 1.5.4 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: uxtheme AssignedTo: wine-bugs@winehq.org ReportedBy: mity@morous.org Classification: Unclassified
In function GetThemeSysFont() in dlls/uxtheme/metric.c, there is this code (lines 120 - 123):
if(iFontID == TMT_ICONTITLEFONT) { if(!SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(LOGFONTW), &plf, 0)) return HRESULT_FROM_WIN32(GetLastError()); }
However the var. plf is already pointer to LOGFONT, so wrong address is passed into SystemParametersInfoW(). The '&' should be removed.