diff options
Diffstat (limited to 'fs/cifs/cifs_unicode.c')
| -rw-r--r-- | fs/cifs/cifs_unicode.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/cifs_unicode.c b/fs/cifs/cifs_unicode.c index 0227b45ef00..15e9505aa35 100644 --- a/fs/cifs/cifs_unicode.c +++ b/fs/cifs/cifs_unicode.c @@ -290,7 +290,8 @@ int  cifsConvertToUTF16(__le16 *target, const char *source, int srclen,  		 const struct nls_table *cp, int mapChars)  { -	int i, j, charlen; +	int i, charlen; +	int j = 0;  	char src_char;  	__le16 dst_char;  	wchar_t tmp; @@ -298,12 +299,11 @@ cifsConvertToUTF16(__le16 *target, const char *source, int srclen,  	if (!mapChars)  		return cifs_strtoUTF16(target, source, PATH_MAX, cp); -	for (i = 0, j = 0; i < srclen; j++) { +	for (i = 0; i < srclen; j++) {  		src_char = source[i];  		charlen = 1;  		switch (src_char) {  		case 0: -			put_unaligned(0, &target[j]);  			goto ctoUTF16_out;  		case ':':  			dst_char = cpu_to_le16(UNI_COLON); @@ -350,6 +350,7 @@ cifsConvertToUTF16(__le16 *target, const char *source, int srclen,  	}  ctoUTF16_out: +	put_unaligned(0, &target[j]); /* Null terminate target unicode string */  	return j;  }  | 
