summaryrefslogtreecommitdiffstats
path: root/source/rpc_server
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-09-26 22:03:52 +0000
committerGerald Carter <jerry@samba.org>2006-09-26 22:03:52 +0000
commit6edf054bf32ae5808955b9e2c89afbec24923a4d (patch)
treea72e7c7369d79834fedac2491ec8bcb7da04f583 /source/rpc_server
parent0c8b011f824043673baff9ebd7d6885bac8077ec (diff)
downloadsamba-6edf054bf32ae5808955b9e2c89afbec24923a4d.tar.gz
samba-6edf054bf32ae5808955b9e2c89afbec24923a4d.tar.xz
samba-6edf054bf32ae5808955b9e2c89afbec24923a4d.zip
r18932: In RegEnumvalue() and RegQueryValue(), the output buffer
size must match the real value of the data.
Diffstat (limited to 'source/rpc_server')
-rw-r--r--source/rpc_server/srv_winreg_nt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/rpc_server/srv_winreg_nt.c b/source/rpc_server/srv_winreg_nt.c
index 7adc29ec0af..a90e9e2c77c 100644
--- a/source/rpc_server/srv_winreg_nt.c
+++ b/source/rpc_server/srv_winreg_nt.c
@@ -479,6 +479,8 @@ WERROR _winreg_QueryValue(pipes_struct *p, struct policy_handle *handle, struct
memcpy( data, regval_data_p(val), *value_length );
status = WERR_OK;
}
+
+ *data_size = *value_length;
}
TALLOC_FREE( regvals );
@@ -626,6 +628,8 @@ WERROR _winreg_EnumValue(pipes_struct *p, struct policy_handle *handle, uint32_t
status = WERR_OK;
}
+ *data_size = *value_length;
+
done:
free_registry_value( val );