Module: wine Branch: master Commit: 1dc5dec6e6c3ba9a3dd7b2379244c872162a1e35 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1dc5dec6e6c3ba9a3dd7b23792...
Author: Rob Shearman rob@codeweavers.com Date: Tue Dec 19 19:35:35 2006 +0000
ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls.
This is done by putting the ORPCTHIS data into the buffer when calling IRpcChannelBuffer::GetBuffer on the client side and then storing the amount we increased the buffer in a structure stored in the Handle field. This is done to present the correct Buffer pointer to the proxy so that it writes its data after the ORPCTHIS data.
Unmarshal the data on the server side (during RPC_ExecuteCall) and make sure the data is consistent according to NDR rules. Also add several checks on the unmarshaled data that are specified by the DCOM draft specification.
---
dlls/ole32/rpc.c | 217 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 215 insertions(+), 2 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=1dc5dec6e6c3ba9a3dd7b2...