]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
fs/ntfs3: terminate the cached volume label after UTF-8 conversion
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Fri, 27 Mar 2026 06:19:55 +0000 (14:19 +0800)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Tue, 7 Apr 2026 16:43:40 +0000 (18:43 +0200)
commita6cd43fe9b083fa23fe1595666d5738856cb261a
tree433922ee0afb8b3f55ad1b6aaa411c780dd2eccf
parentd1062683bf6b560b31f287eb0ebde4841bc72376
fs/ntfs3: terminate the cached volume label after UTF-8 conversion

ntfs_fill_super() loads the on-disk volume label with utf16s_to_utf8s()
and stores the result in sbi->volume.label. The converted label is later
exposed through ntfs3_label_show() using %s, but utf16s_to_utf8s() only
returns the number of bytes written and does not add a trailing NUL.

If the converted label fills the entire fixed buffer,
ntfs3_label_show() can read past the end of sbi->volume.label while
looking for a terminator.

Terminate the cached label explicitly after a successful conversion and
clamp the exact-full case to the last byte of the buffer.

Fixes: 82cae269cfa9 ("fs/ntfs3: Add initialization of super block")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/super.c