Skip to content

Commit

Permalink
[PATCH] cifs: append \* properly on ASCII servers
Browse files Browse the repository at this point in the history
For older servers which do not support Unicode

Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Steve French authored and Linus Torvalds committed Apr 30, 2005
1 parent 9747dd6 commit 6857547
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
4 changes: 3 additions & 1 deletion fs/cifs/CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ Fix error mapping of the TOO_MANY_LINKS (hardlinks) case.
Do not oops if root user kills cifs oplock kernel thread or
kills the cifsd thread (NB: killing the cifs kernel threads is not
recommended, unmount and rmmod cifs will kill them when they are
no longer needed).
no longer needed). Fix readdir to ASCII servers (ie older servers
which do not support Unicode) and also require asterik.


Version 1.33
------------
Expand Down
6 changes: 4 additions & 2 deletions fs/cifs/cifssmb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2451,12 +2451,14 @@ CIFSFindFirst(const int xid, struct cifsTconInfo *tcon,
name_len += 2;
} else { /* BB add check for overrun of SMB buf BB */
name_len = strnlen(searchName, PATH_MAX);
name_len++; /* trailing null */
/* BB fix here and in unicode clause above ie
if(name_len > buffersize-header)
free buffer exit; BB */
strncpy(pSMB->FileName, searchName, name_len);
pSMB->FileName[name_len] = 0; /* just in case */
pSMB->FileName[name_len] = '\\';
pSMB->FileName[name_len+1] = '*';
pSMB->FileName[name_len+2] = 0;
name_len += 3;
}

params = 12 + name_len /* includes null */ ;
Expand Down

0 comments on commit 6857547

Please sign in to comment.