From: Jeffrey Altman Date: Wed, 14 May 2008 05:14:57 +0000 (+0000) Subject: windows-smb-parse-string-20080513 X-Git-Tag: openafs-devel-1_5_61~1084 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=090b2eebfa9fb48deea94bf7b511e693a251e041;p=packages%2Fo%2Fopenafs.git windows-smb-parse-string-20080513 LICENSE MIT if the input length is 0, smb_ParseString should return the NUL string not NULL. Do not permit unprotected DebugBreak() calls. --- diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index 5b133171a..76cf54ab1 100644 --- a/src/WINNT/afsd/smb.c +++ b/src/WINNT/afsd/smb.c @@ -2483,7 +2483,7 @@ unsigned char *smb_ParseStringBuf(const unsigned char * bufbase, null_terms = 1; } } else { - return NULL; + cch_src = 0; } spacep = cm_GetSpace(); diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 4da9f0281..3c588a1e6 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -1256,7 +1256,9 @@ unsigned char *smb_ParseStringT2Parm(smb_tran2Packet_t * p, unsigned char * inp, cb = p->totalParms - (inp - (unsigned char *)p->parmsp); if (inp < (unsigned char *) p->parmsp || inp > ((unsigned char *) p->parmsp) + p->totalParms) { +#ifdef DEBUG_UNICODE DebugBreak(); +#endif cb = p->totalParms; } @@ -2781,7 +2783,9 @@ long cm_GetShortName(char *pathp, cm_user_t *userp, cm_req_t *reqp, if (dscp->fileType == CM_SCACHETYPE_DFSLINK) { cm_ReleaseSCache(dscp); cm_ReleaseUser(userp); +#ifdef DEBUG DebugBreak(); +#endif return CM_ERROR_PATH_NOT_COVERED; } #endif /* DFS_SUPPORT */