From 57f36261faf163cfdab7a5a5fcc2bf88a08d51dc Mon Sep 17 00:00:00 2001 From: Misha Koshelev Date: Sun, 11 Nov 2007 01:28:03 -0600 Subject: [PATCH] urlmon: Fix PROTOCOLDATA message passing in IInternetProtocolSink interface of Binding. --- dlls/urlmon/binding.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index ae58503a715..d3951bbdc02 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -622,14 +622,14 @@ static ULONG WINAPI InternetProtocolSink_Release(IInternetProtocolSink *iface) typedef struct { task_header_t header; - PROTOCOLDATA *data; + PROTOCOLDATA data; } switch_task_t; static void switch_proc(Binding *binding, task_header_t *t) { switch_task_t *task = (switch_task_t*)t; - IInternetProtocol_Continue(binding->protocol, task->data); + IInternetProtocol_Continue(binding->protocol, &task->data); HeapFree(GetProcessHeap(), 0, task); } @@ -643,7 +643,7 @@ static HRESULT WINAPI InternetProtocolSink_Switch(IInternetProtocolSink *iface, TRACE("(%p)->(%p)\n", This, pProtocolData); task = HeapAlloc(GetProcessHeap(), 0, sizeof(switch_task_t)); - task->data = pProtocolData; + memcpy(&task->data, pProtocolData, sizeof(PROTOCOLDATA)); push_task(This, &task->header, switch_proc);