Files
linux/fs
Armin Wolf 25524b6190 fs/nls: Fix utf16 to utf8 conversion
Currently the function responsible for converting between utf16 and
utf8 strings will ignore any characters that cannot be converted. This
however also includes multi-byte characters that do not fit into the
provided string buffer.

This can cause problems if such a multi-byte character is followed by
a single-byte character. In such a case the multi-byte character might
be ignored when the provided string buffer is too small, but the
single-byte character might fit and is thus still copied into the
resulting string.

Fix this by stop filling the provided string buffer once a character
does not fit. In order to be able to do this extend utf32_to_utf8()
to return useful errno codes instead of -1.

Fixes: 74675a5850 ("NLS: update handling of Unicode")
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20251111131125.3379-2-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-18 11:18:06 +02:00
..
2025-06-10 22:21:16 -04:00
2025-09-13 17:32:47 -07:00
2025-09-13 16:55:07 -07:00
2025-11-18 11:18:06 +02:00
2025-09-13 16:55:13 -07:00
2025-09-16 23:59:38 -04:00
2025-09-21 19:24:50 -04:00
2025-09-26 10:21:23 +02:00
2025-09-01 13:08:01 +02:00
2025-09-29 13:43:52 -07:00
2025-08-29 15:08:07 +02:00
2025-05-23 14:20:44 +02:00