From: Suresh Jayaraman Date: Sat, 9 May 2009 06:03:12 +0000 (+0530) Subject: cifs: Fix buffer size in cifs_convertUCSpath X-Git-Tag: v2.6.29.4~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7a7d2fe8813c3bee7d7db9ba889fc2c2dd39dd7;p=thirdparty%2Fkernel%2Fstable.git cifs: Fix buffer size in cifs_convertUCSpath Relevant commits 7fabf0c9479fef9fdb9528a5fbdb1cb744a744a4 and f58841666bc22e827ca0dcef7b71c7bc2758ce82. The upstream commits adds cifs_from_ucs2 that includes functionality of cifs_convertUCSpath and does cleanup. Reported-by: Jeff Layton Signed-off-by: Suresh Jayaraman Acked-by: Steve French Acked-by: Jeff Layton Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c index 4c89c572891ae..b2990b1d19759 100644 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c @@ -691,14 +691,15 @@ cifs_convertUCSpath(char *target, const __le16 *source, int maxlen, NLS_MAX_CHARSET_SIZE); if (len > 0) { j += len; - continue; + goto overrun_chk; } else { target[j] = '?'; } } j++; /* make sure we do not overrun callers allocated temp buffer */ - if (j >= (2 * NAME_MAX)) +overrun_chk: + if (j >= UNICODE_NAME_MAX) break; } cUCS_out: