Kaydet (Commit) e5a0755b authored tarafından Stephan Bergmann's avatar Stephan Bergmann

new does not return null

Change-Id: Iea00f7c6435c6ae3ccbb2f97ab4407df8b86c54b
üst 91a6ea5d
...@@ -496,10 +496,9 @@ STDMETHODIMP CXTDataObject::EnumFormatEtc( ...@@ -496,10 +496,9 @@ STDMETHODIMP CXTDataObject::EnumFormatEtc(
if ( DATADIR_GET == dwDirection ) if ( DATADIR_GET == dwDirection )
{ {
*ppenumFormatetc = new CEnumFormatEtc( this, m_FormatEtcContainer ); *ppenumFormatetc = new CEnumFormatEtc( this, m_FormatEtcContainer );
if ( NULL != *ppenumFormatetc ) static_cast< LPUNKNOWN >( *ppenumFormatetc )->AddRef( );
static_cast< LPUNKNOWN >( *ppenumFormatetc )->AddRef( );
hr = ( NULL != *ppenumFormatetc ) ? S_OK : E_OUTOFMEMORY; hr = S_OK;
} }
else else
hr = E_INVALIDARG; hr = E_INVALIDARG;
...@@ -832,10 +831,9 @@ STDMETHODIMP CEnumFormatEtc::Clone( IEnumFORMATETC** ppenum ) ...@@ -832,10 +831,9 @@ STDMETHODIMP CEnumFormatEtc::Clone( IEnumFORMATETC** ppenum )
return E_INVALIDARG; return E_INVALIDARG;
*ppenum = new CEnumFormatEtc( m_lpUnkOuter, m_FormatEtcContainer ); *ppenum = new CEnumFormatEtc( m_lpUnkOuter, m_FormatEtcContainer );
if ( NULL != *ppenum ) static_cast< LPUNKNOWN >( *ppenum )->AddRef( );
static_cast< LPUNKNOWN >( *ppenum )->AddRef( );
return ( NULL != *ppenum ) ? S_OK : E_OUTOFMEMORY; return S_OK;
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -186,9 +186,6 @@ extern "C" STDAPI INPROC_DLLPUBLIC DllGetClassObject( REFCLSID rclsid, REFIID ri ...@@ -186,9 +186,6 @@ extern "C" STDAPI INPROC_DLLPUBLIC DllGetClassObject( REFCLSID rclsid, REFIID ri
return E_NOINTERFACE; return E_NOINTERFACE;
*ppv = new inprocserv::InprocEmbedProvider_Impl( rclsid ); *ppv = new inprocserv::InprocEmbedProvider_Impl( rclsid );
if ( *ppv == NULL )
return E_OUTOFMEMORY;
((LPUNKNOWN)*ppv)->AddRef(); ((LPUNKNOWN)*ppv)->AddRef();
return S_OK; return S_OK;
} }
...@@ -316,9 +313,6 @@ STDMETHODIMP InprocEmbedProvider_Impl::CreateInstance(IUnknown FAR* punkOuter, ...@@ -316,9 +313,6 @@ STDMETHODIMP InprocEmbedProvider_Impl::CreateInstance(IUnknown FAR* punkOuter,
return CLASS_E_NOAGGREGATION; return CLASS_E_NOAGGREGATION;
InprocEmbedDocument_Impl* pEmbedDocument = new InprocEmbedDocument_Impl( m_guid ); InprocEmbedDocument_Impl* pEmbedDocument = new InprocEmbedDocument_Impl( m_guid );
if ( !pEmbedDocument )
return E_OUTOFMEMORY;
pEmbedDocument->AddRef(); pEmbedDocument->AddRef();
HRESULT hr = pEmbedDocument->Init(); HRESULT hr = pEmbedDocument->Init();
if ( SUCCEEDED( hr ) ) if ( SUCCEEDED( hr ) )
......
...@@ -817,21 +817,16 @@ SCODE STDMETHODCALLTYPE COooFilterCF::CreateInstance( ...@@ -817,21 +817,16 @@ SCODE STDMETHODCALLTYPE COooFilterCF::CreateInstance(
if ( 0 != pUnkOuter ) if ( 0 != pUnkOuter )
return CLASS_E_NOAGGREGATION; return CLASS_E_NOAGGREGATION;
pIUnk = new COooFilter(); pIUnk = new COooFilter();
if ( 0 != pIUnk ) if ( SUCCEEDED( pIUnk->QueryInterface( riid , ppvObject ) ) )
{ {
if ( SUCCEEDED( pIUnk->QueryInterface( riid , ppvObject ) ) ) // Release extra refcount from QueryInterface
{ pIUnk->Release();
// Release extra refcount from QueryInterface
pIUnk->Release();
}
else
{
delete pIUnk;
return E_UNEXPECTED;
}
} }
else else
return E_OUTOFMEMORY; {
delete pIUnk;
return E_UNEXPECTED;
}
return S_OK; return S_OK;
} }
...@@ -919,19 +914,14 @@ extern "C" SCODE STDMETHODCALLTYPE DllGetClassObject( ...@@ -919,19 +914,14 @@ extern "C" SCODE STDMETHODCALLTYPE DllGetClassObject(
} }
else else
return CLASS_E_CLASSNOTAVAILABLE; return CLASS_E_CLASSNOTAVAILABLE;
if ( 0 != pResult ) if( SUCCEEDED( pResult->QueryInterface( iid, ppvObj ) ) )
// Release extra refcount from QueryInterface
pResult->Release();
else
{ {
if( SUCCEEDED( pResult->QueryInterface( iid, ppvObj ) ) ) delete pImpl;
// Release extra refcount from QueryInterface return E_UNEXPECTED;
pResult->Release();
else
{
delete pImpl;
return E_UNEXPECTED;
}
} }
else
return E_OUTOFMEMORY;
return S_OK; return S_OK;
} }
//F------------------------------------------------------------------------- //F-------------------------------------------------------------------------
......
...@@ -432,9 +432,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv) ...@@ -432,9 +432,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
return E_NOINTERFACE; return E_NOINTERFACE;
IUnknown* pUnk = new CClassFactory( rclsid ); IUnknown* pUnk = new CClassFactory( rclsid );
if ( 0 == pUnk )
return E_OUTOFMEMORY;
*ppv = pUnk; *ppv = pUnk;
return S_OK; return S_OK;
} }
......
...@@ -402,9 +402,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv) ...@@ -402,9 +402,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
OutputDebugStringFormat( "DllGetClassObject: Create CLSID_THUMBVIEWER_HANDLER\n" ); OutputDebugStringFormat( "DllGetClassObject: Create CLSID_THUMBVIEWER_HANDLER\n" );
IUnknown* pUnk = new CClassFactory(rclsid); IUnknown* pUnk = new CClassFactory(rclsid);
if (0 == pUnk)
return E_OUTOFMEMORY;
*ppv = pUnk; *ppv = pUnk;
return S_OK; return S_OK;
} }
......
...@@ -510,10 +510,7 @@ HRESULT SHResolvePath( HWND hwndOwner, LPCTSTR pszPath, LPITEMIDLIST *ppidl ) ...@@ -510,10 +510,7 @@ HRESULT SHResolvePath( HWND hwndOwner, LPCTSTR pszPath, LPITEMIDLIST *ppidl )
// First make a copy of the path // First make a copy of the path
pszPathCopy = new TCHAR[lstrlen(pszPath) + 1]; pszPathCopy = new TCHAR[lstrlen(pszPath) + 1];
if ( pszPathCopy ) lstrcpy( pszPathCopy, pszPath );
lstrcpy( pszPathCopy, pszPath );
else
return E_OUTOFMEMORY;
// Determine the first token // Determine the first token
......
...@@ -84,12 +84,6 @@ STDMETHODIMP CXMergeFactory::CreateInstance(IUnknown *pUnkOuter, REFIID iid, voi ...@@ -84,12 +84,6 @@ STDMETHODIMP CXMergeFactory::CreateInstance(IUnknown *pUnkOuter, REFIID iid, voi
if (iid == IID_ICeFileFilter) if (iid == IID_ICeFileFilter)
{ {
CXMergeFilter *pFilter = new CXMergeFilter(); CXMergeFilter *pFilter = new CXMergeFilter();
if(pFilter == NULL)
{
*ppvObject = NULL;
return E_OUTOFMEMORY;
}
HRESULT hr = pFilter->QueryInterface(iid, ppvObject); HRESULT hr = pFilter->QueryInterface(iid, ppvObject);
pFilter->Release(); pFilter->Release();
......
...@@ -56,12 +56,6 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) ...@@ -56,12 +56,6 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
{ {
// Create the factory object // Create the factory object
CXMergeFactory *pFactory = new CXMergeFactory(); CXMergeFactory *pFactory = new CXMergeFactory();
if (pFactory == NULL)
{
*ppv = NULL;
return E_OUTOFMEMORY;
}
HRESULT hr = pFactory->QueryInterface(riid, ppv); HRESULT hr = pFactory->QueryInterface(riid, ppv);
pFactory->Release(); pFactory->Release();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment