|
@@ -276,7 +276,7 @@ static void ascii_ssetup_strings(char **pbcc_area, struct cifsSesInfo *ses,
|
|
|
}
|
|
|
|
|
|
static void
|
|
|
-decode_unicode_ssetup(char **pbcc_area, __u16 bleft, struct cifsSesInfo *ses,
|
|
|
+decode_unicode_ssetup(char **pbcc_area, int bleft, struct cifsSesInfo *ses,
|
|
|
const struct nls_table *nls_cp)
|
|
|
{
|
|
|
int len;
|
|
@@ -284,19 +284,6 @@ decode_unicode_ssetup(char **pbcc_area, __u16 bleft, struct cifsSesInfo *ses,
|
|
|
|
|
|
cFYI(1, "bleft %d", bleft);
|
|
|
|
|
|
- /*
|
|
|
- * Windows servers do not always double null terminate their final
|
|
|
- * Unicode string. Check to see if there are an uneven number of bytes
|
|
|
- * left. If so, then add an extra NULL pad byte to the end of the
|
|
|
- * response.
|
|
|
- *
|
|
|
- * See section 2.7.2 in "Implementing CIFS" for details
|
|
|
- */
|
|
|
- if (bleft % 2) {
|
|
|
- data[bleft] = 0;
|
|
|
- ++bleft;
|
|
|
- }
|
|
|
-
|
|
|
kfree(ses->serverOS);
|
|
|
ses->serverOS = cifs_strndup_from_ucs(data, bleft, true, nls_cp);
|
|
|
cFYI(1, "serverOS=%s", ses->serverOS);
|