summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/rpc_server/winreg/rpc_winreg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c
index 4dc07b9dc1..17e711e235 100644
--- a/source4/rpc_server/winreg/rpc_winreg.c
+++ b/source4/rpc_server/winreg/rpc_winreg.c
@@ -399,7 +399,11 @@ static WERROR winreg_QueryValue(struct dcesrv_call_state *dce_call, TALLOC_CTX *
/* Just asking for the size of the buffer */
r->out.type = (enum winreg_Type *)&val->data_type;
- r->out.length = &val->data.length;
+ r->out.length = talloc(mem_ctx, uint32_t);
+ if (!r->out.length) {
+ return WERR_NOMEM;
+ }
+ *r->out.length = val->data.length;
if (!r->in.data) {
r->out.size = talloc(mem_ctx, uint32_t);
*r->out.size = val->data.length;