diff options
-rw-r--r-- | source4/lib/registry/ldb.c | 8 | ||||
-rw-r--r-- | source4/rpc_server/winreg/rpc_winreg.c | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/source4/lib/registry/ldb.c b/source4/lib/registry/ldb.c index b897641f33..36761e5273 100644 --- a/source4/lib/registry/ldb.c +++ b/source4/lib/registry/ldb.c @@ -916,9 +916,6 @@ static WERROR ldb_get_key_info(TALLOC_CTX *mem_ctx, el = ldb_msg_find_element(kd->subkeys[i], "key"); *max_subkeynamelen = MAX(*max_subkeynamelen, el->values[0].length); } - - /* for UTF16 encoding */ - *max_subkeynamelen *= 2; } if (max_valnamelen != NULL || max_valbufsize != NULL) { @@ -948,11 +945,6 @@ static WERROR ldb_get_key_info(TALLOC_CTX *mem_ctx, talloc_free(data.data); } } - - if (max_valnamelen != NULL) { - /* for UTF16 encoding */ - *max_valnamelen *= 2; - } } talloc_free(default_value.data); diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c index 1b4044ffb7..002eb685ea 100644 --- a/source4/rpc_server/winreg/rpc_winreg.c +++ b/source4/rpc_server/winreg/rpc_winreg.c @@ -464,6 +464,15 @@ static WERROR dcesrv_winreg_QueryInfoKey(struct dcesrv_call_state *dce_call, r->out.last_changed_time, r->out.max_subkeylen, r->out.max_valnamelen, r->out.max_valbufsize); + if (r->out.max_subkeylen != NULL) { + /* for UTF16 encoding */ + *r->out.max_subkeylen *= 2; + } + if (r->out.max_valnamelen != NULL) { + /* for UTF16 encoding */ + *r->out.max_valnamelen *= 2; + } + if (classname != NULL) { r->out.classname->name = classname; r->out.classname->name_len = 2*strlen_m_term(classname); |