Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.9.2, 0.9.3, and 1.0

stable shellext: check pointer parameters

Changeset e87b99ebd0eb

Parent afc53b1f7718

by Adrian Buehlmann

Changes to 4 files · Browse files at e87b99ebd0eb Showing diff from parent afc53b1f7718 Diff from another changeset...

 
911
912
913
 
 
 
914
 
915
916
917
 
911
912
913
914
915
916
917
918
919
920
921
@@ -911,7 +911,11 @@
   STDMETHODIMP CShellExtCMenu::QueryInterface(REFIID riid, LPVOID FAR* ppv)  { + if (ppv == 0) + return E_POINTER; +   *ppv = NULL; +   if (IsEqualIID(riid, IID_IShellExtInit) || IsEqualIID(riid, IID_IUnknown))   {   *ppv = (LPSHELLEXTINIT) this;
 
89
90
91
 
 
 
92
 
93
94
95
 
89
90
91
92
93
94
95
96
97
98
99
@@ -89,7 +89,11 @@
   STDMETHODIMP CShellExtOverlay::QueryInterface(REFIID riid, LPVOID FAR* ppv)  { + if (ppv == 0) + return E_POINTER; +   *ppv = NULL; +   if (IsEqualIID(riid, IID_IShellIconOverlayIdentifier)   || IsEqualIID(riid, IID_IUnknown) )   {
 
77
78
79
 
 
 
 
 
 
 
80
81
82
 
77
78
79
80
81
82
83
84
85
86
87
88
89
@@ -77,6 +77,13 @@
  LPWSTR pwszShellExt;   StringFromIID(rclsid, &pwszShellExt);   TDEBUG_TRACE("DllGetClassObject clsid = " << WideToMultibyte(pwszShellExt)); + + if (ppvOut == 0) + { + TDEBUG_TRACE("**** DllGetClassObject: error: ppvOut is 0"); + return E_POINTER; + } +   *ppvOut = NULL;     typedef ThgClassFactory<CShellExtOverlay> FactOvl;
 
28
29
30
 
 
 
31
32
33
 
62
63
64
 
 
 
65
66
67
 
28
29
30
31
32
33
34
35
36
 
65
66
67
68
69
70
71
72
73
@@ -28,6 +28,9 @@
  STDMETHODIMP QueryInterface(   REFIID riid, LPVOID FAR* ppv)   { + if (ppv == 0) + return E_POINTER; +   *ppv = NULL;     if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_IClassFactory)) @@ -62,6 +65,9 @@
  STDMETHODIMP CreateInstance(   LPUNKNOWN pUnkOuter, REFIID riid, LPVOID* ppvObj)   { + if (ppvObj == 0) + return E_POINTER; +   *ppvObj = NULL;     if (pUnkOuter)