} else {		/* BB improve the check for buffer overruns BB */ 
} else {		/* BB improve check for buffer overruns BB */ 
CIFSSMBRmDir(const int xid, struct cifsTconInfo *tcon, const char *dirName, 	     const struct nls_table *nls_codepage, int remap){	DELETE_DIRECTORY_REQ *pSMB = NULL;	DELETE_DIRECTORY_RSP *pSMBr = NULL;	int rc = 0;	int bytes_returned;	int name_len;	cFYI(1, ("In CIFSSMBRmDir"));RmDirRetry:	rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB,		      (void **) &pSMBr);	if (rc)		return rc;	if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {		name_len = cifsConvertToUCS((__le16 *) pSMB->DirName, dirName,					 PATH_MAX, nls_codepage, remap);		name_len++;	/* trailing null */		name_len *= 2;	} else {		/* BB improve the check for buffer overruns BB */		name_len = strnlen(dirName, PATH_MAX);		name_len++;	/* trailing null */		strncpy(pSMB->DirName, dirName, name_len);	}	pSMB->BufferFormat = 0x04;	pSMB->hdr.smb_buf_length += name_len + 1;	pSMB->ByteCount = cpu_to_le16(name_len + 1);	rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,			 (struct smb_hdr *) pSMBr, &bytes_returned, 0);	if (rc) {		cFYI(1, ("Error in RMDir = %d", rc));	}#ifdef CONFIG_CIFS_STATS        else {		atomic_inc(&tcon->num_rmdirs);        }#endif	cifs_buf_release(pSMB);	if (rc == -EAGAIN)		goto RmDirRetry;	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/09d1db5c6131232f764046160c29118cd4e5e646/cifssmb.c/clean/fs/cifs/cifssmb.c