diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-07-26 12:25:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:10:24 -0500 |
commit | e72786ec24691d8b62bd7b28f30187cdcba4a799 (patch) | |
tree | eab9c7b9d10d70da1a1af3ce3ef4359e2097ad01 /source4/torture/rpc | |
parent | bbc185729bfc96d00705200c4e0cc37c341eeb19 (diff) | |
download | samba-e72786ec24691d8b62bd7b28f30187cdcba4a799.tar.gz samba-e72786ec24691d8b62bd7b28f30187cdcba4a799.tar.bz2 samba-e72786ec24691d8b62bd7b28f30187cdcba4a799.zip |
r17256: fix 2 crash bugs, which are introduced by making parameters
ref pointers!
I'm sure there're more places and more care is needed when idl files
are changed. Hopefully testing against windows in the build farm
find such bugs in future...
Why is in the client library this no more possible:
NTSTATUS foo([in,out,ref] uint8 *foo);
and then just
r.in.foo = &foo;
status = dcerpc_foo(p, mem_ctx, &r);
and r.out.foo will set to r.in.foo via pidl magic,
that worked some time ago...
metze
(This used to be commit d8952f00c77ba59e0806b0de802ac28ac977779c)
Diffstat (limited to 'source4/torture/rpc')
-rw-r--r-- | source4/torture/rpc/wkssvc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source4/torture/rpc/wkssvc.c b/source4/torture/rpc/wkssvc.c index 9d336e8177..4526b3f91b 100644 --- a/source4/torture/rpc/wkssvc.c +++ b/source4/torture/rpc/wkssvc.c @@ -30,11 +30,13 @@ static BOOL test_NetWkstaGetInfo(struct dcerpc_pipe *p, { NTSTATUS status; struct wkssvc_NetWkstaGetInfo r; + union wkssvc_NetWkstaInfo info; uint16_t levels[] = {100, 101, 102, 502}; int i; BOOL ret = True; r.in.server_name = dcerpc_server_name(p); + r.out.info = &info; for (i=0;i<ARRAY_SIZE(levels);i++) { r.in.level = levels[i]; @@ -71,6 +73,7 @@ static BOOL test_NetWkstaTransportEnum(struct dcerpc_pipe *p, r.in.ctr = &ctr; r.in.max_buffer = (uint32_t)-1; r.in.resume_handle = &resume_handle; + r.out.ctr = &ctr; r.out.resume_handle = &resume_handle; printf("testing NetWkstaTransportEnum\n"); |