diff options
Diffstat (limited to 'source3/librpc')
-rw-r--r-- | source3/librpc/gen_ndr/cli_eventlog.c | 2 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/cli_netlogon.c | 2 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/cli_winreg.c | 8 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/svcctl.h | 4 |
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 { |