From bf4b5188e0f6881609542855589dc5b4746d96c1 Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Thu, 8 Mar 2007 10:59:38 +0000 Subject: [PATCH] ole32: CreateBindCtx should fail if reserved parameter is not zero. --- dlls/ole32/bindctx.c | 8 ++++++++ dlls/ole32/tests/moniker.c | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/ole32/bindctx.c b/dlls/ole32/bindctx.c index 2dae2c49703..9a7e4df0a2d 100644 --- a/dlls/ole32/bindctx.c +++ b/dlls/ole32/bindctx.c @@ -536,6 +536,14 @@ HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC * 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)); if (newBindCtx == 0) return E_OUTOFMEMORY; diff --git a/dlls/ole32/tests/moniker.c b/dlls/ole32/tests/moniker.c index 861fc336a94..e628aca6f1a 100644 --- a/dlls/ole32/tests/moniker.c +++ b/dlls/ole32/tests/moniker.c @@ -1448,7 +1448,6 @@ static void test_bind_context(void) static const WCHAR wszParamName[] = {'G','e','m','m','a',0}; 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); hr = CreateBindCtx(0, &pBindCtx);