ole32: CreateBindCtx should fail if reserved parameter is not zero.

This commit is contained in:
Rob Shearman 2007-03-08 10:59:38 +00:00 committed by Alexandre Julliard
parent 612dc9d35d
commit bf4b5188e0
2 changed files with 8 additions and 1 deletions

View File

@ -536,6 +536,14 @@ HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC * ppbc)
TRACE("(%d,%p)\n",reserved,ppbc); TRACE("(%d,%p)\n",reserved,ppbc);
*ppbc = NULL;
if (reserved != 0)
{
ERR("reserved should be 0, not 0x%x\n", reserved);
return E_INVALIDARG;
}
newBindCtx = HeapAlloc(GetProcessHeap(), 0, sizeof(BindCtxImpl)); newBindCtx = HeapAlloc(GetProcessHeap(), 0, sizeof(BindCtxImpl));
if (newBindCtx == 0) if (newBindCtx == 0)
return E_OUTOFMEMORY; return E_OUTOFMEMORY;

View File

@ -1448,7 +1448,6 @@ static void test_bind_context(void)
static const WCHAR wszParamName[] = {'G','e','m','m','a',0}; static const WCHAR wszParamName[] = {'G','e','m','m','a',0};
hr = CreateBindCtx(0xdeadbeef, &pBindCtx); hr = CreateBindCtx(0xdeadbeef, &pBindCtx);
todo_wine
ok(hr == E_INVALIDARG, "CreateBindCtx with reserved value non-zero should have returned E_INVALIDARG instead of 0x%08x\n", hr); ok(hr == E_INVALIDARG, "CreateBindCtx with reserved value non-zero should have returned E_INVALIDARG instead of 0x%08x\n", hr);
hr = CreateBindCtx(0, &pBindCtx); hr = CreateBindCtx(0, &pBindCtx);