]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
lib/ucs2_string: Correct ucs2 -> utf8 conversion
authorJason Andryuk <jandryuk@gmail.com>
Fri, 12 Feb 2016 23:13:33 +0000 (23:13 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Mar 2016 15:42:21 +0000 (08:42 -0700)
commite90f4779cbca934940a4c4e67c96fdf314c291c8
tree9a5aa55a172a9d8090cf890ac4e3f2f677a4b9ec
parentfb7ef72dcf235ffeb3b3316c5b844fa035d45683
lib/ucs2_string: Correct ucs2 -> utf8 conversion

commit a68075908a37850918ad96b056acc9ac4ce1bd90 upstream.

The comparisons should be >= since 0x800 and 0x80 require an additional bit
to store.

For the 3 byte case, the existing shift would drop off 2 more bits than
intended.

For the 2 byte case, there should be 5 bits bits in byte 1, and 6 bits in
byte 2.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Matthew Garrett <mjg59@coreos.com>
Cc: "Lee, Chun-Yi" <jlee@suse.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/ucs2_string.c