summaryrefslogtreecommitdiff
path: root/source3/librpc/gen_ndr/winreg.h
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-11-27 07:52:46 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:09 -0500
commitf57cd1f63c900a7b17955cc7e11cd1f6b6b12474 (patch)
tree5c3b9c2e87e786423810ca084925a2271bbaee36 /source3/librpc/gen_ndr/winreg.h
parent213bc9d440a8022cd1b4294cd95b744466883702 (diff)
downloadsamba-f57cd1f63c900a7b17955cc7e11cd1f6b6b12474.tar.gz
samba-f57cd1f63c900a7b17955cc7e11cd1f6b6b12474.tar.bz2
samba-f57cd1f63c900a7b17955cc7e11cd1f6b6b12474.zip
r19914: The "default" value with the name "" need different 0-length treatment as the
other StringBufs, otherwise clicking on a key with this value being set leads to regedit.exe on w2k3 chew all memory. (This used to be commit b148cde7f39859102288a87b6f0bd2b250947a85)
Diffstat (limited to 'source3/librpc/gen_ndr/winreg.h')
-rw-r--r--source3/librpc/gen_ndr/winreg.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/librpc/gen_ndr/winreg.h b/source3/librpc/gen_ndr/winreg.h
index 87ba27e623..4703c3dc07 100644
--- a/source3/librpc/gen_ndr/winreg.h
+++ b/source3/librpc/gen_ndr/winreg.h
@@ -53,6 +53,12 @@ struct winreg_StringBuf {
const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
};
+struct winreg_ValNameBuf {
+ uint16_t length;/* [value(strlen_m_term(name)*2)] */
+ uint16_t size;
+ const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
+};
+
struct KeySecurityAttribute {
uint32_t data_size;
struct KeySecurityData sec_data;
@@ -219,7 +225,7 @@ struct winreg_EnumValue {
struct {
struct policy_handle *handle;/* [ref] */
uint32_t enum_index;
- struct winreg_StringBuf *name;/* [ref] */
+ struct winreg_ValNameBuf *name;/* [ref] */
enum winreg_Type *type;/* [unique] */
uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
uint32_t *data_size;/* [unique] */
@@ -227,7 +233,7 @@ struct winreg_EnumValue {
} in;
struct {
- struct winreg_StringBuf *name;/* [ref] */
+ struct winreg_ValNameBuf *name;/* [ref] */
enum winreg_Type *type;/* [unique] */
uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
uint32_t *data_size;/* [unique] */