STABLE14-windows-mkdir-root-exists-20051021

If a request is received to create the root directory of a device,
return CM_ERROR_EXISTS instead of CM_ERROR_NOTFOUND for the nul-string
file name.


(cherry picked from commit 47cc7643e1b04bacd858a3893accab8c377b34ac)
This commit is contained in:
Jeffrey Altman 2005-10-23 01:32:52 +00:00
parent 73224f7711
commit 5dbd32c49a

View File

@ -5804,6 +5804,13 @@ long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
osi_LogSaveString(smb_logp, treeStartp));
openAction = 2; /* created directory */
/* if the request is to create the root directory
* it will appear as a directory name of the nul-string
* and a code of CM_ERROR_NOSUCHFILE
*/
if ( !*treeStartp && code == CM_ERROR_NOSUCHFILE)
code = CM_ERROR_EXISTS;
setAttr.mask = CM_ATTRMASK_CLIENTMODTIME;
setAttr.clientModTime = time(NULL);