summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/librpc/gen_ndr/cli_eventlog.c2
-rw-r--r--source3/librpc/gen_ndr/cli_netlogon.c2
-rw-r--r--source3/librpc/gen_ndr/cli_winreg.c8
-rw-r--r--source3/librpc/gen_ndr/svcctl.h4
4 files changed, 8 insertions, 8 deletions
diff --git a/source3/librpc/gen_ndr/cli_eventlog.c b/source3/librpc/gen_ndr/cli_eventlog.c
index 038a30526a..7e7ffb21cc 100644
--- a/source3/librpc/gen_ndr/cli_eventlog.c
+++ b/source3/librpc/gen_ndr/cli_eventlog.c
@@ -336,7 +336,7 @@ NTSTATUS rpccli_eventlog_ReadEventLogW(struct rpc_pipe_client *cli, TALLOC_CTX *
}
/* Return variables */
- *data = *r.out.data;
+ memcpy(data, r.out.data, r.in.number_of_bytes);
*sent_size = *r.out.sent_size;
*real_size = *r.out.real_size;
diff --git a/source3/librpc/gen_ndr/cli_netlogon.c b/source3/librpc/gen_ndr/cli_netlogon.c
index 661ef147fd..4bd0f907ea 100644
--- a/source3/librpc/gen_ndr/cli_netlogon.c
+++ b/source3/librpc/gen_ndr/cli_netlogon.c
@@ -1404,7 +1404,7 @@ NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli, TALLO
/* Return variables */
*count = *r.out.count;
- *trusts = *r.out.trusts;
+ memcpy(trusts, r.out.trusts, count);
/* Return result */
return werror_to_ntstatus(r.out.result);
diff --git a/source3/librpc/gen_ndr/cli_winreg.c b/source3/librpc/gen_ndr/cli_winreg.c
index 9b25a6113b..0f49274015 100644
--- a/source3/librpc/gen_ndr/cli_winreg.c
+++ b/source3/librpc/gen_ndr/cli_winreg.c
@@ -376,7 +376,7 @@ NTSTATUS rpccli_winreg_EnumValue(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ct
*type = *r.out.type;
}
if ( value ) {
- *value = *r.out.value;
+ memcpy(value, r.out.value, *r.in.size);
}
if ( size ) {
*size = *r.out.size;
@@ -628,7 +628,7 @@ NTSTATUS rpccli_winreg_QueryValue(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
*type = *r.out.type;
}
if ( data ) {
- *data = *r.out.data;
+ memcpy(data, r.out.data, *r.in.data_size);
}
if ( data_size ) {
*data_size = *r.out.data_size;
@@ -1017,9 +1017,9 @@ NTSTATUS rpccli_winreg_QueryMultipleValues(struct rpc_pipe_client *cli, TALLOC_C
}
/* Return variables */
- *values = *r.out.values;
+ memcpy(values, r.out.values, r.in.num_values);
if ( buffer ) {
- *buffer = *r.out.buffer;
+ memcpy(buffer, r.out.buffer, *r.in.buffer_size);
}
*buffer_size = *r.out.buffer_size;
diff --git a/source3/librpc/gen_ndr/svcctl.h b/source3/librpc/gen_ndr/svcctl.h
index fbb995e0a7..e728d51f23 100644
--- a/source3/librpc/gen_ndr/svcctl.h
+++ b/source3/librpc/gen_ndr/svcctl.h
@@ -357,7 +357,7 @@ struct svcctl_StartServiceW {
struct {
struct policy_handle *handle;/* [ref] */
uint32_t NumArgs;
- const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
+ const char *Arguments;/* [unique,charset(UTF16)] */
} in;
struct {
@@ -560,7 +560,7 @@ struct svcctl_StartServiceA {
struct {
struct policy_handle *handle;/* [ref] */
uint32_t NumArgs;
- const char *Arguments;/* [unique,charset(UTF16),length_is(NumArgs)] */
+ const char *Arguments;/* [unique,charset(UTF16)] */
} in;
struct {