Nikolay Sivov : shell32: Return as soon as requested CLSID is located ( Coverity).
Module: wine Branch: master Commit: 5cf95396503d49f0249c473c1ed51e51213124c0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5cf95396503d49f0249c473c1e... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Wed Nov 11 14:01:37 2015 +0300 shell32: Return as soon as requested CLSID is located (Coverity). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/shell32/shellole.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/shellole.c b/dlls/shell32/shellole.c index 637a101..f034951 100644 --- a/dlls/shell32/shellole.c +++ b/dlls/shell32/shellole.c @@ -59,7 +59,7 @@ static IClassFactory * IDefClF_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pc /* this table contains all CLSIDs of shell32 objects */ static const struct { - REFIID riid; + REFIID clsid; LPFNCREATEINSTANCE lpfnCI; } InterfaceTable[] = { @@ -204,8 +204,8 @@ end: */ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv) { - HRESULT hres = E_OUTOFMEMORY; IClassFactory * pcf = NULL; + HRESULT hres; int i; TRACE("CLSID:%s,IID:%s\n",shdebugstr_guid(rclsid),shdebugstr_guid(iid)); @@ -214,10 +214,11 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv) *ppv = NULL; /* search our internal interface table */ - for(i=0;InterfaceTable[i].riid;i++) { - if(IsEqualIID(InterfaceTable[i].riid, rclsid)) { + for(i=0;InterfaceTable[i].clsid;i++) { + if(IsEqualIID(InterfaceTable[i].clsid, rclsid)) { TRACE("index[%u]\n", i); pcf = IDefClF_fnConstructor(InterfaceTable[i].lpfnCI, NULL, NULL); + break; } }
participants (1)
-
Alexandre Julliard