+6
−1
Loading
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: 82cae269 ("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>