oleaut32: Fail if we cannot find the TYPELIB resource.

This commit is contained in:
Alistair Leslie-Hughes 2012-11-30 21:11:07 +11:00 committed by Alexandre Julliard
parent 64d7151669
commit 04d3ba5b35
1 changed files with 6 additions and 1 deletions

View File

@ -2509,6 +2509,7 @@ static const IUnknownVtbl TLB_PEFile_Vtable =
static HRESULT TLB_PEFile_Open(LPCWSTR path, INT index, LPVOID *ppBase, DWORD *pdwTLBLength, IUnknown **ppFile) static HRESULT TLB_PEFile_Open(LPCWSTR path, INT index, LPVOID *ppBase, DWORD *pdwTLBLength, IUnknown **ppFile)
{ {
TLB_PEFile *This; TLB_PEFile *This;
HRESULT hr = TYPE_E_CANTLOADLIBRARY;
This = heap_alloc(sizeof(TLB_PEFile)); This = heap_alloc(sizeof(TLB_PEFile));
if (!This) if (!This)
@ -2543,11 +2544,13 @@ static HRESULT TLB_PEFile_Open(LPCWSTR path, INT index, LPVOID *ppBase, DWORD *p
return S_OK; return S_OK;
} }
} }
hr = E_FAIL;
} }
} }
TLB_PEFile_Release((IUnknown *)&This->lpvtbl); TLB_PEFile_Release((IUnknown *)&This->lpvtbl);
return TYPE_E_CANTLOADLIBRARY; return hr;
} }
typedef struct TLB_NEFile typedef struct TLB_NEFile
@ -2946,6 +2949,8 @@ static HRESULT TLB_ReadTypeLib(LPCWSTR pszFileName, LPWSTR pszPath, UINT cchPath
ret = TYPE_E_CANTLOADLIBRARY; ret = TYPE_E_CANTLOADLIBRARY;
IUnknown_Release(pFile); IUnknown_Release(pFile);
} }
else
ret = TYPE_E_CANTLOADLIBRARY;
if(*ppTypeLib) { if(*ppTypeLib) {
ITypeLibImpl *impl = (ITypeLibImpl*)*ppTypeLib; ITypeLibImpl *impl = (ITypeLibImpl*)*ppTypeLib;