Module: wine Branch: master Commit: a901983fe334ea7ba2aba922c3cab403a140d86b URL: http://source.winehq.org/git/wine.git/?a=commit;h=a901983fe334ea7ba2aba922c3...
Author: Andrew Bogott Andrew@CodeWeavers.com Date: Sun Jan 9 11:02:54 2011 -0500
winemenubuilder: Avoid passing a null pointer (or a non-pointer) to extract_icon in InvokeShellLinkerForURL.
---
programs/winemenubuilder/winemenubuilder.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index dfb2441..8996836 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -2752,9 +2752,12 @@ static BOOL InvokeShellLinkerForURL( IUniformResourceLocatorW *url, LPCWSTR link hr = IPropertyStorage_ReadMultiple(pPropStg, 2, ps, pv); if (SUCCEEDED(hr)) { - icon_name = extract_icon( pv[0].u.pwszVal, pv[1].u.iVal, NULL, bWait ); + if (pv[0].vt == VT_LPWSTR && pv[0].u.pwszVal) + { + icon_name = extract_icon( pv[0].u.pwszVal, pv[1].u.iVal, NULL, bWait );
- WINE_TRACE("URL icon path: %s icon index: %d icon name: %s\n", wine_dbgstr_w(pv[0].u.pwszVal), pv[1].u.iVal, icon_name); + WINE_TRACE("URL icon path: %s icon index: %d icon name: %s\n", wine_dbgstr_w(pv[0].u.pwszVal), pv[1].u.iVal, icon_name); + } PropVariantClear(&pv[0]); PropVariantClear(&pv[1]); }