tree dca567eb137f212cab63c725599aafdd62e84129
parent ad402b265ecf6fa22d04043b41444cdfcdf4f52d
author Andrew Gabbasov <andrew_gabbasov@mentor.com> 1450974333 -0600
committer Jan Kara <jack@suse.cz> 1451919469 +0100

udf: Check output buffer length when converting name to CS0

If a name contains at least some characters with Unicode values
exceeding single byte, the CS0 output should have 2 bytes per character.
And if other input characters have single byte Unicode values, then
the single input byte is converted to 2 output bytes, and the length
of output becomes larger than the length of input. And if the input
name is long enough, the output length may exceed the allocated buffer
length.

All this means that conversion from UTF8 or NLS to CS0 requires
checking of output length in order to stop when it exceeds the given
output buffer size.

[JK: Make code return -ENAMETOOLONG instead of silently truncating the
name]

CC: stable@vger.kernel.org
Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Jan Kara <jack@suse.cz>
