Transform grub_iso9660_convert_string() function to use grub_utf16_to_utf8_alloc() helper function to convert file names and volume name from UTF-16 to UTF-8.
Signed-off-by: Vitaly Kuzmichev <vitaly.kuzmic...@rtsoft.de> --- grub-core/fs/iso9660.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c index 5eb6c1a0a..d2ea397ee 100644 --- a/grub-core/fs/iso9660.c +++ b/grub-core/fs/iso9660.c @@ -376,20 +376,7 @@ grub_iso9660_susp_iterate (grub_fshelp_node_t node, grub_off_t off, static char * grub_iso9660_convert_string (grub_uint8_t *us, int len) { - char *p; - int i; - grub_uint16_t t[MAX_NAMELEN / 2 + 1]; - - p = grub_calloc (len, GRUB_MAX_UTF8_PER_UTF16 + 1); - if (! p) - return NULL; - - for (i=0; i<len; i++) - t[i] = grub_be_to_cpu16 (grub_get_unaligned16 (us + 2 * i)); - - *grub_utf16_to_utf8 ((grub_uint8_t *) p, t, len, UTF16_CPU) = '\0'; - - return p; + return (char *) grub_utf16_to_utf8_alloc (us, len, UTF16_BE); } static grub_err_t -- 2.34.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel