a1767edc
by Yuxuan Shui at 2025-08-01T21:43:02+09:00
rpcrt4: Don't read past the end of params in client_do_args.
During the INITOUT phrase, client_do_args will go through the parameter list,
and for out parameters that are returned via pointers, it will reads those
pointers and initialize the memories they point to.
The problem is, for *_Proxy functions, the TypeFormatString generated by widl
includes an extra return value parameter, that does not have a stack location,
therefore client_do_args should not try to read it. Since the return value is
not returned via pointer, we can fix this by reordering the checks.