]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-smb-parse-string-20080513
authorJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 14 May 2008 05:16:51 +0000 (05:16 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 14 May 2008 05:16:51 +0000 (05:16 +0000)
LICENSE MIT

if the input length is 0, smb_ParseString should return the NUL string
not NULL.

Do not permit unprotected DebugBreak() calls.

(cherry picked from commit 090b2eebfa9fb48deea94bf7b511e693a251e041)

src/WINNT/afsd/smb.c
src/WINNT/afsd/smb3.c

index c545603030e3beca6c0edc156c23a7a7aed5d0a1..820f168ffe4c70578c684e1e988dba03a0bf101a 100644 (file)
@@ -2712,7 +2712,7 @@ unsigned char *smb_ParseStringBuf(const unsigned char * bufbase,
                 null_terms = 1;
             }
         } else {
-            return NULL;
+            cch_src = 0;
         }
 
         spacep = cm_GetSpace();
index 0f3fdfe7987637b59001be070f01f9a666af8891..02272312e35a1374d81bb6b53b6fa1b578187b1f 100644 (file)
@@ -1258,7 +1258,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;
     }
 
@@ -2787,7 +2789,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 */