search for: hivex_encode_str

Displaying 3 results from an estimated 3 matches for "hivex_encode_str".

2013 Nov 25
3
Re: [PATCH 3/3] lib: Add support for creating nodes (keys) and values with UTF-16LE-encoded names
...index dbb8292..72b1f8a 100644 > --- a/lib/write.c > +++ b/lib/write.c > @@ -608,9 +608,17 @@ hivex_node_add_child (hive_h *h, hive_node_h parent, const char *name) > return 0; > } > > + size_t recoded_name_len; > + int use_utf16 = 0; > + char* recoded_name = _hivex_encode_string (name, &recoded_name_len, &use_utf16); > + if (recoded_name == NULL) { > + SET_ERRNO (EINVAL, "malformed name"); > + return 0; > + } > + > /* Create the new nk-record. */ > static const char nk_id[2] = { 'n', 'k' }; > - siz...
2013 Nov 25
0
Re: [PATCH 3/3] lib: Add support for creating nodes (keys) and values with UTF-16LE-encoded names
...k->max_subkey_name_len = htole16 (strlen (name) * 2); >> + size_t utf16_len = use_utf16 ? recoded_name_len : recoded_name_len * 2; > > * 2 is probably wrong here for non-BMP characters, but the original > code makes the same mistake ... Could we get the true length from the > hivex_encode_string function? Are there any non-BMP characters that can be encoded in Latin1 -- or whatever 1-byte encoding one is supposed to use there? Peter Norris' master's thesis[1] suggests that recoded_name_len : recoded_name_len * 2 is probably right. Cheers, -Hilko [1] http://amnesia.gtis...
2013 Nov 24
4
[PATCH 1/3] lib: Further generalize iconv wrapper function.
--- lib/hivex-internal.h | 8 +++++--- lib/utf16.c | 11 +++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/hivex-internal.h b/lib/hivex-internal.h index 4135f58..64fd49a 100644 --- a/lib/hivex-internal.h +++ b/lib/hivex-internal.h @@ -268,11 +268,13 @@ extern size_t * _hivex_return_offset_list (offset_list *list); extern void _hivex_print_offset_list