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(
if ( DATADIR_GET == dwDirection )
{
*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
hr = E_INVALIDARG;
......@@ -832,10 +831,9 @@ STDMETHODIMP CEnumFormatEtc::Clone( IEnumFORMATETC** ppenum )
return E_INVALIDARG;
*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: */
......@@ -186,9 +186,6 @@ extern "C" STDAPI INPROC_DLLPUBLIC DllGetClassObject( REFCLSID rclsid, REFIID ri
return E_NOINTERFACE;
*ppv = new inprocserv::InprocEmbedProvider_Impl( rclsid );
if ( *ppv == NULL )
return E_OUTOFMEMORY;
((LPUNKNOWN)*ppv)->AddRef();
return S_OK;
}
......@@ -316,9 +313,6 @@ STDMETHODIMP InprocEmbedProvider_Impl::CreateInstance(IUnknown FAR* punkOuter,
return CLASS_E_NOAGGREGATION;
InprocEmbedDocument_Impl* pEmbedDocument = new InprocEmbedDocument_Impl( m_guid );
if ( !pEmbedDocument )
return E_OUTOFMEMORY;
pEmbedDocument->AddRef();
HRESULT hr = pEmbedDocument->Init();
if ( SUCCEEDED( hr ) )
......
......@@ -817,21 +817,16 @@ SCODE STDMETHODCALLTYPE COooFilterCF::CreateInstance(
if ( 0 != pUnkOuter )
return CLASS_E_NOAGGREGATION;
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();
}
else
{
delete pIUnk;
return E_UNEXPECTED;
}
// Release extra refcount from QueryInterface
pIUnk->Release();
}
else
return E_OUTOFMEMORY;
{
delete pIUnk;
return E_UNEXPECTED;
}
return S_OK;
}
......@@ -919,19 +914,14 @@ extern "C" SCODE STDMETHODCALLTYPE DllGetClassObject(
}
else
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 ) ) )
// Release extra refcount from QueryInterface
pResult->Release();
else
{
delete pImpl;
return E_UNEXPECTED;
}
delete pImpl;
return E_UNEXPECTED;
}
else
return E_OUTOFMEMORY;
return S_OK;
}
//F-------------------------------------------------------------------------
......
......@@ -432,9 +432,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
return E_NOINTERFACE;
IUnknown* pUnk = new CClassFactory( rclsid );
if ( 0 == pUnk )
return E_OUTOFMEMORY;
*ppv = pUnk;
return S_OK;
}
......
......@@ -402,9 +402,6 @@ extern "C" STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void** ppv)
OutputDebugStringFormat( "DllGetClassObject: Create CLSID_THUMBVIEWER_HANDLER\n" );
IUnknown* pUnk = new CClassFactory(rclsid);
if (0 == pUnk)
return E_OUTOFMEMORY;
*ppv = pUnk;
return S_OK;
}
......
......@@ -510,10 +510,7 @@ HRESULT SHResolvePath( HWND hwndOwner, LPCTSTR pszPath, LPITEMIDLIST *ppidl )
// First make a copy of the path
pszPathCopy = new TCHAR[lstrlen(pszPath) + 1];
if ( pszPathCopy )
lstrcpy( pszPathCopy, pszPath );
else
return E_OUTOFMEMORY;
lstrcpy( pszPathCopy, pszPath );
// Determine the first token
......
......@@ -84,12 +84,6 @@ STDMETHODIMP CXMergeFactory::CreateInstance(IUnknown *pUnkOuter, REFIID iid, voi
if (iid == IID_ICeFileFilter)
{
CXMergeFilter *pFilter = new CXMergeFilter();
if(pFilter == NULL)
{
*ppvObject = NULL;
return E_OUTOFMEMORY;
}
HRESULT hr = pFilter->QueryInterface(iid, ppvObject);
pFilter->Release();
......
......@@ -56,12 +56,6 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
{
// Create the factory object
CXMergeFactory *pFactory = new CXMergeFactory();
if (pFactory == NULL)
{
*ppv = NULL;
return E_OUTOFMEMORY;
}
HRESULT hr = pFactory->QueryInterface(riid, ppv);
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