diff options
Diffstat (limited to 'source/rpc_server')
-rw-r--r-- | source/rpc_server/echo/rpc_echo.c | 3 | ||||
-rw-r--r-- | source/rpc_server/remote/dcesrv_remote.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/source/rpc_server/echo/rpc_echo.c b/source/rpc_server/echo/rpc_echo.c index 543bca1073c..e5c1ee56cee 100644 --- a/source/rpc_server/echo/rpc_echo.c +++ b/source/rpc_server/echo/rpc_echo.c @@ -37,11 +37,10 @@ static NTSTATUS echo_EchoData(struct dcesrv_call_state *dce_call, TALLOC_CTX *me return NT_STATUS_OK; } - r->out.out_data = talloc(mem_ctx, r->in.len); + r->out.out_data = talloc_memdup(mem_ctx, r->in.in_data, r->in.len); if (!r->out.out_data) { return NT_STATUS_NO_MEMORY; } - memcpy(r->out.out_data, r->in.in_data, r->in.len); return NT_STATUS_OK; } diff --git a/source/rpc_server/remote/dcesrv_remote.c b/source/rpc_server/remote/dcesrv_remote.c index 3bf917ac718..8feb54a500c 100644 --- a/source/rpc_server/remote/dcesrv_remote.c +++ b/source/rpc_server/remote/dcesrv_remote.c @@ -77,7 +77,7 @@ static NTSTATUS remote_op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CT return NT_STATUS_NET_WRITE_FAULT; } - *r = talloc(mem_ctx, table->calls[opnum].struct_size); + *r = talloc_size(mem_ctx, table->calls[opnum].struct_size); if (!*r) { return NT_STATUS_NO_MEMORY; } |