1
0
Fork 0
alistair23-linux/fs/udf
Jan Kara 44f06ba829 udf: Fix leak of UTF-16 surrogates into encoded strings
OSTA UDF specification does not mention whether the CS0 charset in case
of two bytes per character encoding should be treated in UTF-16 or
UCS-2. The sample code in the standard does not treat UTF-16 surrogates
in any special way but on systems such as Windows which work in UTF-16
internally, filenames would be treated as being in UTF-16 effectively.
In Linux it is more difficult to handle characters outside of Base
Multilingual plane (beyond 0xffff) as NLS framework works with 2-byte
characters only. Just make sure we don't leak UTF-16 surrogates into the
resulting string when loading names from the filesystem for now.

CC: stable@vger.kernel.org # >= v4.6
Reported-by: Mingye Wang <arthur200126@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
2018-04-18 16:34:55 +02:00
..
Kconfig udf: Update Kconfig description 2015-01-05 11:04:37 +01:00
Makefile switch udf to simple_fsync() 2009-06-11 21:36:13 -04:00
balloc.c udf: Fix signed/unsigned format specifiers 2017-10-17 12:00:58 +02:00
dir.c udf: Fix 64-bit sign extension issues affecting blocks > 0x7FFFFFFF 2017-10-17 11:56:45 +02:00
directory.c udf: Fix some sign-conversion warnings 2017-10-17 12:02:07 +02:00
ecma_167.h udf: use __packed instead of __attribute__ ((packed)) 2017-01-10 11:29:11 +01:00
file.c udf: Apply uid/gid mount options also to new inodes & chown 2018-02-27 10:25:33 +01:00
ialloc.c udf: Apply uid/gid mount options also to new inodes & chown 2018-02-27 10:25:33 +01:00
inode.c udf: Clean up handling of invalid uid/gid 2018-02-27 10:25:33 +01:00
lowlevel.c udf: atomically read inode size 2017-01-10 11:57:34 +01:00
misc.c udf: Fix signed/unsigned format specifiers 2017-10-17 12:00:58 +02:00
namei.c udf: Fix signed/unsigned format specifiers 2017-10-17 12:00:58 +02:00
osta_udf.h udf: use __packed instead of __attribute__ ((packed)) 2017-01-10 11:29:11 +01:00
partition.c udf: Fix signed/unsigned format specifiers 2017-10-17 12:00:58 +02:00
super.c udf: fix potential refcnt problem of nls module 2018-03-02 14:23:12 +01:00
symlink.c statx: Add a system call to make enhanced file info available 2017-03-02 20:51:15 -05:00
truncate.c udf: Fix 64-bit sign extension issues affecting blocks > 0x7FFFFFFF 2017-10-17 11:56:45 +02:00
udf_i.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
udf_sb.h udf: Do not mark possibly inconsistent filesystems as closed 2018-03-02 14:22:57 +01:00
udfdecl.h udf: Clean up handling of invalid uid/gid 2018-02-27 10:25:33 +01:00
udfend.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
udftime.c udf: Sanitize nanoseconds for time stamps 2017-12-19 08:11:01 +01:00
unicode.c udf: Fix leak of UTF-16 surrogates into encoded strings 2018-04-18 16:34:55 +02:00