Andrew Bogott : winemenubuilder: Avoid passing a null pointer ( or a non-pointer) to extract_icon in InvokeShellLinkerForURL.

Alexandre Julliard julliard at winehq.org
Tue Jan 11 10:08:28 CST 2011


Module: wine
Branch: master
Commit: a901983fe334ea7ba2aba922c3cab403a140d86b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a901983fe334ea7ba2aba922c3cab403a140d86b

Author: Andrew Bogott <Andrew at 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]);
             }




More information about the wine-cvs mailing list