[PATCH 1/2] urlmon: Allow NULL IBindStatusCallback in URLOpenBlockingStream
Andrew Eikum
aeikum at codeweavers.com
Tue Jun 21 14:13:05 CDT 2016
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
dlls/urlmon/tests/stream.c | 15 +++++++++++++++
dlls/urlmon/umstream.c | 8 +++++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/dlls/urlmon/tests/stream.c b/dlls/urlmon/tests/stream.c
index 9882a4d..354d809 100644
--- a/dlls/urlmon/tests/stream.c
+++ b/dlls/urlmon/tests/stream.c
@@ -328,6 +328,21 @@ static void test_URLOpenBlockingStreamW(void)
ok(pStream != NULL, "pStream is NULL\n");
if(pStream)
{
+ buffer[0] = 0;
+ hr = IStream_Read(pStream, buffer, sizeof(buffer), NULL);
+ ok(hr == S_OK, "IStream_Read failed with error 0x%08x\n", hr);
+ ok(!memcmp(buffer, szHtmlDoc, sizeof(szHtmlDoc)-1), "read data differs from file\n");
+
+ IStream_Release(pStream);
+ }
+
+ hr = URLOpenBlockingStreamW(NULL, INDEX_HTML, &pStream, 0, NULL);
+ ok(hr == S_OK, "URLOpenBlockingStreamW failed with error 0x%08x\n", hr);
+
+ ok(pStream != NULL, "pStream is NULL\n");
+ if(pStream)
+ {
+ buffer[0] = 0;
hr = IStream_Read(pStream, buffer, sizeof(buffer), NULL);
ok(hr == S_OK, "IStream_Read failed with error 0x%08x\n", hr);
ok(!memcmp(buffer, szHtmlDoc, sizeof(szHtmlDoc)-1), "read data differs from file\n");
diff --git a/dlls/urlmon/umstream.c b/dlls/urlmon/umstream.c
index 3a3e09a..9c94658 100644
--- a/dlls/urlmon/umstream.c
+++ b/dlls/urlmon/umstream.c
@@ -122,12 +122,18 @@ static HRESULT WINAPI ProxyBindStatusCallback_OnStopBinding(IBindStatusCallback
static HRESULT WINAPI ProxyBindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
{
+ DWORD size = pbindinfo->cbSize;
ProxyBindStatusCallback *This = impl_from_IBindStatusCallback(iface);
if(This->pBSC)
return IBindStatusCallback_GetBindInfo(This->pBSC, grfBINDF, pbindinfo);
- return E_INVALIDARG;
+ memset(pbindinfo, 0, size);
+ pbindinfo->cbSize = size;
+
+ *grfBINDF = 0;
+
+ return S_OK;
}
static HRESULT WINAPI ProxyBindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF,
--
2.9.0
More information about the wine-patches
mailing list