summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/librpc/idl/winreg.idl2
-rw-r--r--source4/lib/registry/rpc.c2
-rw-r--r--source4/librpc/idl/winreg.idl2
-rw-r--r--source4/rpc_server/winreg/rpc_winreg.c2
-rw-r--r--source4/torture/ndr/winreg.c2
-rw-r--r--source4/torture/rpc/winreg.c3
6 files changed, 7 insertions, 6 deletions
diff --git a/source3/librpc/idl/winreg.idl b/source3/librpc/idl/winreg.idl
index ba9e935640..028131e8f2 100644
--- a/source3/librpc/idl/winreg.idl
+++ b/source3/librpc/idl/winreg.idl
@@ -2,7 +2,7 @@
winreg interface definition
*/
-import "lsa.idl", "initshutdown.idl", "security.idl";
+import "lsa.idl", "security.idl";
[
uuid("338cd001-2244-31f1-aaaa-900038001003"),
diff --git a/source4/lib/registry/rpc.c b/source4/lib/registry/rpc.c
index 6429a390db..6563fe02b0 100644
--- a/source4/lib/registry/rpc.c
+++ b/source4/lib/registry/rpc.c
@@ -260,7 +260,7 @@ static WERROR rpc_get_value_by_name(TALLOC_CTX *mem_ctx,
ZERO_STRUCT(r);
r.in.handle = &mykeydata->pol;
- r.in.value_name = name;
+ r.in.value_name = &name;
r.in.type = type;
r.in.data = &value;
r.in.size = &val_size;
diff --git a/source4/librpc/idl/winreg.idl b/source4/librpc/idl/winreg.idl
index dfa0f654d0..c4b33a3db6 100644
--- a/source4/librpc/idl/winreg.idl
+++ b/source4/librpc/idl/winreg.idl
@@ -240,7 +240,7 @@ import "lsa.idl", "security.idl";
/* Function: 0x11 */
[public] WERROR winreg_QueryValue(
[in,ref] policy_handle *handle,
- [in] winreg_String value_name,
+ [in,ref] winreg_String *value_name,
[in,out,unique] winreg_Type *type,
[in,out,unique,size_is(*size),length_is(*length)] uint8 *data,
[in,out,unique] uint32 *size,
diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c
index 22c60c354c..3b226c8341 100644
--- a/source4/rpc_server/winreg/rpc_winreg.c
+++ b/source4/rpc_server/winreg/rpc_winreg.c
@@ -457,7 +457,7 @@ static WERROR dcesrv_winreg_QueryValue(struct dcesrv_call_state *dce_call,
case SECURITY_USER:
key = h->data;
- result = reg_key_get_value_by_name(mem_ctx, key, r->in.value_name.name,
+ result = reg_key_get_value_by_name(mem_ctx, key, r->in.value_name->name,
&value_type, &value_data);
if (!W_ERROR_IS_OK(result)) {
diff --git a/source4/torture/ndr/winreg.c b/source4/torture/ndr/winreg.c
index ab256a7152..1bfe50e740 100644
--- a/source4/torture/ndr/winreg.c
+++ b/source4/torture/ndr/winreg.c
@@ -197,7 +197,7 @@ static const uint8_t queryvalue_in_data[] = {
static bool queryvalue_in_check(struct torture_context *tctx,
struct winreg_QueryValue *r)
{
- torture_assert_str_equal(tctx, r->in.value_name.name, "HOMEPATH", "name");
+ torture_assert_str_equal(tctx, r->in.value_name->name, "HOMEPATH", "name");
torture_assert_int_equal(tctx, *r->in.type, 0, "type");
torture_assert_int_equal(tctx, *r->in.size, 4095, "size");
torture_assert_int_equal(tctx, *r->in.length, 0, "length");
diff --git a/source4/torture/rpc/winreg.c b/source4/torture/rpc/winreg.c
index aa81aa011b..759e9e6528 100644
--- a/source4/torture/rpc/winreg.c
+++ b/source4/torture/rpc/winreg.c
@@ -1539,7 +1539,8 @@ static bool test_QueryValue(struct dcerpc_pipe *p,
ZERO_STRUCT(r);
r.in.handle = handle;
r.in.data = NULL;
- r.in.value_name.name = valuename;
+ r.in.value_name = talloc_zero(tctx, struct winreg_String);
+ r.in.value_name->name = valuename;
r.in.type = &zero_type;
r.in.size = &offered;
r.in.length = &zero;