ole32: Validate the parameters to DataCache_Cache.

This commit is contained in:
Rob Shearman 2007-11-13 18:58:34 +00:00 committed by Alexandre Julliard
parent f94b82026a
commit 5d2f802359
2 changed files with 10 additions and 0 deletions

View File

@ -1971,6 +1971,10 @@ static HRESULT WINAPI DataCache_Cache(
HRESULT hr;
TRACE("(%p, 0x%x, %p)\n", pformatetc, advf, pdwConnection);
if (!pformatetc || !pdwConnection)
return E_INVALIDARG;
TRACE("pformatetc = %s\n", debugstr_formatetc(pformatetc));
*pdwConnection = 0;

View File

@ -1128,6 +1128,12 @@ static void test_data_cache(void)
hr = IOleCache_Uncache(pOleCache, 0xdeadbeef);
ok(hr == OLE_E_NOCONNECTION, "IOleCache_Uncache with invalid value should return OLE_E_NOCONNECTION instead of 0x%x\n", hr);
hr = IOleCache_Cache(pOleCache, NULL, 0, &dwConnection);
ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL fmtetc should have returned E_INVALIDARG instead of 0x%08x\n", hr);
hr = IOleCache_Cache(pOleCache, NULL, 0, NULL);
ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL pdwConnection should have returned E_INVALIDARG instead of 0x%08x\n", hr);
for (fmtetc.cfFormat = CF_TEXT; fmtetc.cfFormat < CF_MAX; fmtetc.cfFormat++)
{
int i;