mirror of
https://github.com/samba-team/samba.git
synced 2025-08-04 08:22:08 +03:00
s4:registry - move the UTF16 length calculation for "reg_key_get_info" into the RPC server code
It does fit better there.
This commit is contained in:
@ -916,9 +916,6 @@ static WERROR ldb_get_key_info(TALLOC_CTX *mem_ctx,
|
|||||||
el = ldb_msg_find_element(kd->subkeys[i], "key");
|
el = ldb_msg_find_element(kd->subkeys[i], "key");
|
||||||
*max_subkeynamelen = MAX(*max_subkeynamelen, el->values[0].length);
|
*max_subkeynamelen = MAX(*max_subkeynamelen, el->values[0].length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* for UTF16 encoding */
|
|
||||||
*max_subkeynamelen *= 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (max_valnamelen != NULL || max_valbufsize != NULL) {
|
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);
|
talloc_free(data.data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (max_valnamelen != NULL) {
|
|
||||||
/* for UTF16 encoding */
|
|
||||||
*max_valnamelen *= 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
talloc_free(default_value.data);
|
talloc_free(default_value.data);
|
||||||
|
@ -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.last_changed_time, r->out.max_subkeylen,
|
||||||
r->out.max_valnamelen, r->out.max_valbufsize);
|
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) {
|
if (classname != NULL) {
|
||||||
r->out.classname->name = classname;
|
r->out.classname->name = classname;
|
||||||
r->out.classname->name_len = 2*strlen_m_term(classname);
|
r->out.classname->name_len = 2*strlen_m_term(classname);
|
||||||
|
Reference in New Issue
Block a user