aboutsummaryrefslogtreecommitdiff
path: root/fs/filesystems.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2009-05-09 11:34:21 +0530
committerGreg Kroah-Hartman <gregkh@suse.de>2009-05-19 22:20:13 -0700
commitb577e5ee6c55dd8f5caafa6004aefcc868b14ecf (patch)
treec3cc9f538b77d11b58bda19fcf171123df006034 /fs/filesystems.c
parentadd2a4fc71859c94e9049a74ac93c895bb5d806e (diff)
cifs: Fix unicode string area word alignment in session setup
commit 27b87fe52baba0a55e9723030e76fce94fabcea4 refreshed. cifs: fix unicode string area word alignment in session setup The handling of unicode string area alignment is wrong. decode_unicode_ssetup improperly assumes that it will always be preceded by a pad byte. This isn't the case if the string area is already word-aligned. This problem, combined with the bad buffer sizing for the serverDomain string can cause memory corruption. The bad alignment can make it so that the alignment of the characters is off. This can make them translate to characters that are greater than 2 bytes each. If this happens we can overflow the allocation. Fix this by fixing the alignment in CIFS_SessSetup instead so we can verify it against the head of the response. Also, clean up the workaround for improperly terminated strings by checking for a odd-length unicode buffers and then forcibly terminating them. Finally, resize the buffer for serverDomain. Now that we've fixed the alignment, it's probably fine, but a malicious server could overflow it. A better solution for handling these strings is still needed, but this should be a suitable bandaid. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com> Cc: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/filesystems.c')
0 files changed, 0 insertions, 0 deletions