Fix to convert SURROGATE PAIR
authorNakajima Akira <nakajima.akira@nttcom.co.jp>
Thu, 9 Apr 2015 08:27:39 +0000 (17:27 +0900)
committerSteve French <smfrench@gmail.com>
Wed, 20 May 2015 18:12:51 +0000 (13:12 -0500)
commitb29103076bec8316e155e71309dc0fba499022c6
treecee456c475ba1d7efea3eca41ec836e8fb8707c9
parent00b8c95b680791a72b4bb14dc371ff1f1daae39c
Fix to convert SURROGATE PAIR

Garbled characters happen by using surrogate pair for filename.
  (replace each 1 character to ??)

[Steps to Reproduce for bug]
client# touch $(echo -e '\xf0\x9d\x9f\xa3')
client# touch $(echo -e '\xf0\x9d\x9f\xa4')
client# ls -li
  You see same inode number, same filename(=?? and ??) .

Fix the bug about these functions do not consider about surrogate pair (and IVS).
cifs_utf16_bytes()
cifs_mapchar()
cifs_from_utf16()
cifsConvertToUTF16()

Reported-by: Nakajima Akira <nakajima.akira@nttcom.co.jp>
Signed-off-by: Nakajima Akira <nakajima.akira@nttcom.co.jp>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/cifs_unicode.c