winnt-initialize-variables-and-memory-before-use-20010906
authorWalter Wong <wcw@cmu.edu>
Fri, 7 Sep 2001 04:32:56 +0000 (04:32 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 7 Sep 2001 04:32:56 +0000 (04:32 +0000)
initialize a variable false when assumed; also some memset(...,0

src/WINNT/afsclass/afsclassfn.cpp
src/WINNT/afsd/cm_utils.c
src/WINNT/afsd/smb_ioctl.c

index 736c922..850a796 100644 (file)
@@ -398,7 +398,7 @@ BOOL AfsClass_RestartService (LPIDENT lpiRestart, ULONG *pStatus)
       lpServer->Close();
       }
 
-   BOOL fRestartAll;
+   BOOL fRestartAll = FALSE;
    if (!lpiRestart->fIsService())
       fRestartAll = TRUE;
 
index e18654a..5961ebe 100644 (file)
@@ -129,6 +129,7 @@ cm_space_t *cm_GetSpace(void)
                cm_spaceListp = tsp->nextp;
         }
         else tsp = (cm_space_t *) malloc(sizeof(cm_space_t));
+       (void) memset(tsp, 0, sizeof(cm_space_t);
         lock_ReleaseWrite(&cm_utilsLock);
         
         return tsp;
index 9e06d88..3b1722d 100644 (file)
@@ -149,6 +149,10 @@ void smb_IoctlPrepareWrite(smb_fid_t *fidp, smb_ioctl_t *ioctlp)
        if (!ioctlp->inAllocp) ioctlp->inAllocp = malloc(SMB_IOCTL_MAXDATA);
         if (!ioctlp->outAllocp) ioctlp->outAllocp = malloc(SMB_IOCTL_MAXDATA);
 
+       /* Fixes fs la problem.  We do a StrToOEM later and if this data isn't initialized we get memory issues. */
+       (void) memset(ioctlp->inAllocp, 0, SMB_IOCTL_MAXDATA);
+       (void) memset(ioctlp->outAllocp, 0, SMB_IOCTL_MAXDATA);
+
        /* and make sure that we've reset our state for the new incoming request */
        if (!(ioctlp->flags & SMB_IOCTLFLAG_DATAIN)) {
                ioctlp->inCopied = 0;