summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/idl/srvsvc.idl2
-rw-r--r--source4/rpc_server/srvsvc/dcesrv_srvsvc.c2
-rw-r--r--source4/torture/rpc/srvsvc.c3
3 files changed, 4 insertions, 3 deletions
diff --git a/source4/librpc/idl/srvsvc.idl b/source4/librpc/idl/srvsvc.idl
index ae59365741..84d025ab29 100644
--- a/source4/librpc/idl/srvsvc.idl
+++ b/source4/librpc/idl/srvsvc.idl
@@ -135,7 +135,7 @@ import "security.idl", "svcctl.idl";
[in] [string,charset(UTF16)] uint16 queue_name[],
[in] [string,charset(UTF16)] uint16 user[],
[in] uint32 level,
- [out,switch_is(level)] srvsvc_NetCharDevQInfo info
+ [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
);
/******************/
diff --git a/source4/rpc_server/srvsvc/dcesrv_srvsvc.c b/source4/rpc_server/srvsvc/dcesrv_srvsvc.c
index b5c0756a2b..c08a7d3626 100644
--- a/source4/rpc_server/srvsvc/dcesrv_srvsvc.c
+++ b/source4/rpc_server/srvsvc/dcesrv_srvsvc.c
@@ -156,7 +156,7 @@ static WERROR dcesrv_srvsvc_NetCharDevQEnum(struct dcesrv_call_state *dce_call,
static WERROR dcesrv_srvsvc_NetCharDevQGetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
struct srvsvc_NetCharDevQGetInfo *r)
{
- ZERO_STRUCT(r->out);
+ ZERO_STRUCTP(r->out.info);
switch (r->in.level) {
case 0:
diff --git a/source4/torture/rpc/srvsvc.c b/source4/torture/rpc/srvsvc.c
index 0b53e3b066..2e78f8edf2 100644
--- a/source4/torture/rpc/srvsvc.c
+++ b/source4/torture/rpc/srvsvc.c
@@ -131,15 +131,16 @@ static bool test_NetCharDevQGetInfo(struct dcerpc_pipe *p, struct torture_contex
{
NTSTATUS status;
struct srvsvc_NetCharDevQGetInfo r;
+ union srvsvc_NetCharDevQInfo info;
uint32_t levels[] = {0, 1};
int i;
r.in.server_unc = talloc_asprintf(tctx,"\\\\%s",dcerpc_server_name(p));
r.in.queue_name = devicequeue;
r.in.user = talloc_asprintf(tctx,"Administrator");
+ r.out.info = &info;
for (i=0;i<ARRAY_SIZE(levels);i++) {
- ZERO_STRUCT(r.out);
r.in.level = levels[i];
torture_comment(tctx, "testing NetCharDevQGetInfo level %u on devicequeue '%s'\n",
r.in.level, r.in.queue_name);