Index: /trunk/include/VBox/shflsvc.h
===================================================================
--- /trunk/include/VBox/shflsvc.h	(revision 51253)
+++ /trunk/include/VBox/shflsvc.h	(revision 51254)
@@ -177,10 +177,10 @@
 DECLINLINE(uint32_t) ShflStringSizeOfBuffer(PCSHFLSTRING pString)
 {
-    return pString? sizeof (SHFLSTRING) - sizeof (pString->String) + pString->u16Size: 0;
+    return pString ? sizeof(SHFLSTRING) - sizeof(pString->String) + pString->u16Size : 0;
 }
 
 DECLINLINE(uint32_t) ShflStringLength(PCSHFLSTRING pString)
 {
-    return pString? pString->u16Length: 0;
+    return pString ? pString->u16Length : 0;
 }
 
@@ -188,8 +188,8 @@
 {
     PSHFLSTRING pString = NULL;
-
-    uint32_t u32HeaderSize = sizeof (SHFLSTRING) - sizeof (pString->String);
-
-    /* Check that the buffer size is big enough to hold a zero sized string
+    const uint32_t u32HeaderSize = sizeof(SHFLSTRING);
+
+    /* 
+     * Check that the buffer size is big enough to hold a zero sized string
      * and is not too big to fit into 16 bit variables.
      */
Index: /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/file.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/file.c	(revision 51253)
+++ /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/file.c	(revision 51254)
@@ -115,7 +115,5 @@
 
                 if (cbToTransfer > pCtx->cbData - cbTransferred)
-                {
                     cbToTransfer = pCtx->cbData - cbTransferred;
-                }
 
                 if (cbToTransfer == 0)
@@ -131,7 +129,5 @@
 
                 for (iPage = 0; iPage < cPagesToTransfer; iPage++)
-                {
                     paPages[iPage] = (RTGCPHYS64)paPfns[iPage + cPagesTransferred] << PAGE_SHIFT;
-                }
 
                 rc = pCtx->pfnTransferPages(pCtx->pClient, pCtx->pMap, pCtx->hFile,
@@ -144,7 +140,5 @@
                     /* If some data was transferred, then it is no error. */
                     if (cbTransferred > 0)
-                    {
                         rc = VINF_SUCCESS;
-                    }
 
                     break;
@@ -164,7 +158,5 @@
                 cPagesToTransfer = cPages - cPagesTransferred;
                 if (cPagesToTransfer > VBSF_MAX_READ_WRITE_PAGES)
-                {
                     cPagesToTransfer = VBSF_MAX_READ_WRITE_PAGES;
-                }
             }
 
@@ -201,7 +193,5 @@
                 /* If some data was transferred, then it is no error. */
                 if (cbTransferred > 0)
-                {
                     rc = VINF_SUCCESS;
-                }
 
                 break;
@@ -218,7 +208,5 @@
             cbToTransfer = pCtx->cbData - cbTransferred;
             if (cbToTransfer > VBSF_MAX_READ_WRITE_PAGES * PAGE_SIZE)
-            {
                 cbToTransfer = VBSF_MAX_READ_WRITE_PAGES * PAGE_SIZE;
-            }
         }
     }
@@ -277,11 +265,9 @@
 
         if (ByteCount > FileSize - ByteOffset)
-        {
             ByteCount = (ULONG)(FileSize - ByteOffset);
-        }
     }
 
     /* @todo read 0 bytes == always success? */
-    if (   BufferMdl == NULL
+    if (   !BufferMdl
         || ByteCount == 0)
     {
@@ -343,11 +329,8 @@
                                                RxContext);
 
-    Log(("VBOXSF: MRxRead: RxDispatchToWorkerThread: Status 0x%08X\n",
-         Status));
+    Log(("VBOXSF: MRxRead: RxDispatchToWorkerThread: Status 0x%08X\n", Status));
 
     if (Status == STATUS_SUCCESS)
-    {
         Status = STATUS_PENDING;
-    }
 
     return Status;
@@ -389,5 +372,5 @@
 
     /* @todo allow to write 0 bytes. */
-    if (   BufferMdl == NULL
+    if (   !BufferMdl
         || ByteCount == 0)
     {
@@ -452,7 +435,5 @@
 
     if (Status == STATUS_SUCCESS)
-    {
         Status = STATUS_PENDING;
-    }
 
     return Status;
@@ -505,11 +486,7 @@
 
     if (LowIoContext->ParamsFor.Locks.Flags & LOWIO_LOCKSFLAG_FAIL_IMMEDIATELY)
-    {
         fu32Lock |= SHFL_LOCK_NOWAIT;
-    }
     else
-    {
         fu32Lock |= SHFL_LOCK_WAIT;
-    }
 
     vboxRC = vboxCallLock(&pDeviceExtension->hgcmClient, &pNetRootExtension->map, pVBoxFobx->hFile,
@@ -518,6 +495,5 @@
     Status = VBoxErrorToNTStatus(vboxRC);
 
-    Log(("VBOXSF: MRxLocks: Returned 0x%08X\n",
-         Status));
+    Log(("VBOXSF: MRxLocks: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -551,6 +527,5 @@
     Status = VBoxErrorToNTStatus(vboxRC);
 
-    Log(("VBOXSF: MRxFlush: Returned 0x%08X\n",
-         Status));
+    Log(("VBOXSF: MRxFlush: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -580,5 +555,5 @@
     cbBuffer = sizeof(SHFLFSOBJINFO);
     pObjInfo = (SHFLFSOBJINFO *)vbsfAllocNonPagedMem(cbBuffer);
-    if (pObjInfo == NULL)
+    if (!pObjInfo)
     {
         AssertFailed();
@@ -592,6 +567,5 @@
                             SHFL_INFO_SET | SHFL_INFO_SIZE, &cbBuffer, (PSHFLDIRINFO)pObjInfo);
 
-    Log(("VBOXSF: vbsfSetEndOfFile: vboxCallFSInfo returned %Rrc\n",
-         vboxRC));
+    Log(("VBOXSF: vbsfSetEndOfFile: vboxCallFSInfo returned %Rrc\n", vboxRC));
 
     Status = VBoxErrorToNTStatus(vboxRC);
@@ -606,10 +580,7 @@
 
     if (pObjInfo)
-    {
         vbsfFreeNonPagedMem(pObjInfo);
-    }
-
-    Log(("VBOXSF: vbsfSetEndOfFile: Returned 0x%08X\n",
-         Status));
+
+    Log(("VBOXSF: vbsfSetEndOfFile: Returned 0x%08X\n", Status));
     return Status;
 }
Index: /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/info.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/info.c	(revision 51253)
+++ /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/info.c	(revision 51254)
@@ -54,10 +54,10 @@
 
     ULONG *pNextOffset = 0;
-    PSHFLSTRING ParsedPath = 0;
+    PSHFLSTRING ParsedPath = NULL;
 
     Log(("VBOXSF: MrxQueryDirectory: FileInformationClass %d, pVBoxFobx %p, hFile %RX64, pInfoBuffer %p\n",
          FileInformationClass, pVBoxFobx, pVBoxFobx->hFile, pInfoBuffer));
 
-    if (NULL == pVBoxFobx)
+    if (!pVBoxFobx)
     {
         Log(("VBOXSF: MrxQueryDirectory: pVBoxFobx is invalid!\n"));
@@ -65,33 +65,21 @@
     }
 
-    if (NULL == DirectoryName)
-    {
+    if (!DirectoryName)
         return STATUS_INVALID_PARAMETER;
-    }
 
     if (DirectoryName->Length == 0)
-    {
         Log(("VBOXSF: MrxQueryDirectory: DirectoryName = \\ (null string)\n"));
-    }
     else
-    {
         Log(("VBOXSF: MrxQueryDirectory: DirectoryName = %.*ls\n",
              DirectoryName->Length / sizeof(WCHAR), DirectoryName->Buffer));
-    }
-
-    if (NULL == Template)
-    {
+
+    if (!Template)
         return STATUS_INVALID_PARAMETER;
-    }
 
     if (Template->Length == 0)
-    {
         Log(("VBOXSF: MrxQueryDirectory: Template = \\ (null string)\n"));
-    }
     else
-    {
         Log(("VBOXSF: MrxQueryDirectory: Template = %.*ls\n",
              Template->Length / sizeof(WCHAR), Template->Buffer));
-    }
 
     cbHGCMBuffer = RT_MAX(cbMaxSize, PAGE_SIZE);
@@ -101,5 +89,5 @@
 
     pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbHGCMBuffer);
-    if (pHGCMBuffer == NULL)
+    if (!pHGCMBuffer)
     {
         AssertFailed();
@@ -128,8 +116,6 @@
 
         /* Calculate length required for parsed path. */
-        ParsedPathSize = sizeof(*ParsedPath) + (DirectoryName->Length + Template->Length + 3 * sizeof(WCHAR));
-
-        Log(("VBOXSF: MrxQueryDirectory: ParsedPathSize = %d\n",
-             ParsedPathSize));
+        ParsedPathSize = sizeof(SHFLSTRING) + DirectoryName->Length + Template->Length + 3 * sizeof(WCHAR);
+        Log(("VBOXSF: MrxQueryDirectory: ParsedPathSize = %d\n", ParsedPathSize));
 
         ParsedPath = (PSHFLSTRING)vbsfAllocNonPagedMem(ParsedPathSize);
@@ -141,5 +127,9 @@
 
         RtlZeroMemory(ParsedPath, ParsedPathSize);
-        ShflStringInitBuffer(ParsedPath, ParsedPathSize - sizeof(SHFLSTRING));
+        if (!ShflStringInitBuffer(ParsedPath, ParsedPathSize))
+        {
+            Status = STATUS_INSUFFICIENT_RESOURCES;
+            goto end;
+        }
 
         ParsedPath->u16Size = DirectoryName->Length + Template->Length + sizeof(WCHAR);
@@ -223,7 +213,5 @@
 
     if (Status != STATUS_SUCCESS)
-    {
         goto end;
-    }
 
     /* Verify that the returned buffer length is not greater than the original one. */
@@ -483,18 +471,12 @@
         }
         else
-        {
-            break;
-        }
+            break;
 
         if (RxContext->QueryDirectory.ReturnSingleEntry)
-        {
-            break;
-        }
+            break;
 
         /* More left? */
         if (cbHGCMBuffer <= 0)
-        {
-            break;
-        }
+            break;
 
         index++; /* File Index. */
@@ -504,18 +486,12 @@
 
     if (pNextOffset)
-    {
         *pNextOffset = 0; /* Last pInfo->NextEntryOffset should be set to zero! */
-    }
 
 end:
     if (pHGCMBuffer)
-    {
         vbsfFreeNonPagedMem(pHGCMBuffer);
-    }
 
     if (ParsedPath)
-    {
         vbsfFreeNonPagedMem(ParsedPath);
-    }
 
     Log(("VBOXSF: MrxQueryDirectory: Returned 0x%08X\n",
@@ -567,5 +543,5 @@
             Log(("VBOXSF: MrxQueryVolumeInfo: FileFsVolumeInformation\n"));
 
-            if (pVBoxFobx == NULL)
+            if (!pVBoxFobx)
             {
                 Log(("VBOXSF: MrxQueryVolumeInfo: pVBoxFobx is NULL!\n"));
@@ -602,5 +578,5 @@
             cbHGCMBuffer = sizeof(SHFLVOLINFO);
             pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbHGCMBuffer);
-            if (pHGCMBuffer == NULL)
+            if (!pHGCMBuffer)
             {
                 Status = STATUS_INSUFFICIENT_RESOURCES;
@@ -758,5 +734,5 @@
             }
 
-            if (pVBoxFobx == NULL)
+            if (!pVBoxFobx)
             {
                 Log(("VBOXSF: MrxQueryVolumeInfo: pVBoxFobx is NULL!\n"));
@@ -775,5 +751,5 @@
             cbHGCMBuffer = sizeof(SHFLVOLINFO);
             pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbHGCMBuffer);
-            if (pHGCMBuffer == NULL)
+            if (!pHGCMBuffer)
             {
                 Status = STATUS_INSUFFICIENT_RESOURCES;
@@ -916,7 +892,5 @@
 
     if (Status == STATUS_SUCCESS)
-    {
         RxContext->Info.LengthRemaining = cbInfoBuffer - cbToCopy;
-    }
     else if (Status == STATUS_BUFFER_TOO_SMALL)
     {
@@ -956,5 +930,5 @@
     PSHFLFSOBJINFO pFileEntry = NULL;
 
-    if (NULL == pLengthRemaining)
+    if (!pLengthRemaining)
     {
         Log(("VBOXSF: MrxQueryFileInfo: length pointer is NULL!\n"));
@@ -965,5 +939,5 @@
          pInfoBuffer, cbInfoBuffer, *pLengthRemaining));
 
-    if (NULL == pVBoxFobx)
+    if (!pVBoxFobx)
     {
         Log(("VBOXSF: MrxQueryFileInfo: pVBoxFobx is NULL!\n"));
@@ -971,5 +945,5 @@
     }
 
-    if (NULL == pInfoBuffer)
+    if (!pInfoBuffer)
     {
         Log(("VBOXSF: MrxQueryFileInfo: pInfoBuffer is NULL!\n"));
@@ -1012,11 +986,7 @@
 
                 if (*pLengthRemaining >= cbToCopy)
-                {
                     *pInfo = pVBoxFobx->FileStandardInfo;
-                }
-                else
-                {
+                else
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1041,7 +1011,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1060,7 +1028,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1077,7 +1043,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1101,7 +1065,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1124,8 +1086,6 @@
         pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbHGCMBuffer);
 
-        if (pHGCMBuffer == NULL)
-        {
+        if (!pHGCMBuffer)
             return STATUS_INSUFFICIENT_RESOURCES;
-        }
 
         Assert(pVBoxFobx && pNetRootExtension && pDeviceExtension);
@@ -1163,7 +1123,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1184,16 +1142,10 @@
 
                     if (pFileEntry->Attr.fMode & RTFS_DOS_DIRECTORY)
-                    {
                         pInfo->Directory = TRUE;
-                    }
                     else
-                    {
                         pInfo->Directory = FALSE;
-                    }
-                }
-                else
-                {
+                }
+                else
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1218,7 +1170,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1237,7 +1187,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1251,11 +1199,7 @@
 
                 if (*pLengthRemaining >= cbToCopy)
-                {
                     pInfo->EaSize = 0;
-                }
-                else
-                {
+                else
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1274,7 +1218,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1288,11 +1230,7 @@
 
                 if (*pLengthRemaining >= cbToCopy)
-                {
                     pInfo->EndOfFile.QuadPart = pFileEntry->cbObject;
-                }
-                else
-                {
+                else
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1306,11 +1244,7 @@
 
                 if (*pLengthRemaining >= cbToCopy)
-                {
                     pInfo->AllocationSize.QuadPart = pFileEntry->cbAllocated;
-                }
-                else
-                {
+                else
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1334,7 +1268,5 @@
                 }
                 else
-                {
                     Status = STATUS_BUFFER_TOO_SMALL;
-                }
                 break;
             }
@@ -1378,7 +1310,5 @@
 
     if (pHGCMBuffer)
-    {
         vbsfFreeNonPagedMem(pHGCMBuffer);
-    }
 
     if (Status == STATUS_SUCCESS)
@@ -1388,6 +1318,5 @@
     }
 
-    Log(("VBOXSF: MrxQueryFileInfo: Returned 0x%08X\n",
-         Status));
+    Log(("VBOXSF: MrxQueryFileInfo: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -1454,5 +1383,5 @@
             cbBuffer = sizeof(SHFLFSOBJINFO);
             pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbBuffer);
-            if (pHGCMBuffer == NULL)
+            if (!pHGCMBuffer)
             {
                 AssertFailed();
@@ -1504,23 +1433,13 @@
                 /* Update our internal copy. Ignore zero fields! */
                 if (pInfo->CreationTime.QuadPart && !pVBoxFobx->fKeepCreationTime)
-                {
                     pVBoxFobx->FileBasicInfo.CreationTime = pInfo->CreationTime;
-                }
                 if (pInfo->LastAccessTime.QuadPart && !pVBoxFobx->fKeepLastAccessTime)
-                {
                     pVBoxFobx->FileBasicInfo.LastAccessTime = pInfo->LastAccessTime;
-                }
                 if (pInfo->LastWriteTime.QuadPart && !pVBoxFobx->fKeepLastWriteTime)
-                {
                     pVBoxFobx->FileBasicInfo.LastWriteTime = pInfo->LastWriteTime;
-                }
                 if (pInfo->ChangeTime.QuadPart && !pVBoxFobx->fKeepChangeTime)
-                {
                     pVBoxFobx->FileBasicInfo.ChangeTime = pInfo->ChangeTime;
-                }
                 if (pInfo->FileAttributes)
-                {
                     pVBoxFobx->FileBasicInfo.FileAttributes = pInfo->FileAttributes;
-                }
             }
 
@@ -1536,11 +1455,7 @@
 
             if (pInfo->DeleteFile && capFcb->OpenCount == 1)
-            {
                 Status = vbsfRemove(RxContext);
-            }
             else
-            {
                 Status = STATUS_SUCCESS;
-            }
             break;
         }
@@ -1629,10 +1544,7 @@
 end:
     if (pHGCMBuffer)
-    {
         vbsfFreeNonPagedMem(pHGCMBuffer);
-    }
-
-    Log(("VBOXSF: MrxSetFileInfo: Returned 0x%08X\n",
-         Status));
+
+    Log(("VBOXSF: MrxSetFileInfo: Returned 0x%08X\n", Status));
     return Status;
 }
Index: /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/net.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/net.c	(revision 51253)
+++ /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/net.c	(revision 51254)
@@ -145,5 +145,5 @@
     }
 
-    if (pNetRoot->Context == NULL)
+    if (!pNetRoot->Context)
     {
         /* MRxNetRootSize is not zero in VBoxSF, so it is expected
@@ -195,5 +195,5 @@
             RootNameLength -= sizeof(WCHAR);
 
-        if (pNetRootExtension->phgcmClient == NULL)
+        if (!pNetRootExtension->phgcmClient)
         {
             Log(("VBOXSF: MRxCreateVNetRoot: Initialize netroot length = %d, name = %.*ls\n",
@@ -209,7 +209,10 @@
             }
             memset(ParsedPath, 0, ParsedPathSize);
-
-            ShflStringInitBuffer(ParsedPath, ParsedPathSize - sizeof(SHFLSTRING));
-            ParsedPath->u16Size = (uint16_t)RootNameLength + sizeof(WCHAR);
+            if (!ShflStringInitBuffer(ParsedPath, ParsedPathSize))
+            {
+                vbsfFreeNonPagedMem(ParsedPath);
+                Status = STATUS_INSUFFICIENT_RESOURCES;
+                goto l_Exit;
+            }
             ParsedPath->u16Length = ParsedPath->u16Size - sizeof(WCHAR); /* without terminating null */
             RtlCopyMemory(ParsedPath->String.ucs2, pRootName, ParsedPath->u16Length);
@@ -230,7 +233,5 @@
     }
     else
-    {
         Log(("VBOXSF: MRxCreateVNetRoot: Creating V_NET_ROOT on existing NET_ROOT!\n"));
-    }
 
     vbsfUpdateNetRoot(pNetRoot);
@@ -239,15 +240,10 @@
     if (Status != STATUS_PENDING)
     {
-        Log(("VBOXSF: MRxCreateVNetRoot: Returning 0x%08X\n",
-             Status));
+        Log(("VBOXSF: MRxCreateVNetRoot: Returning 0x%08X\n", Status));
         pCreateNetRootContext->VirtualNetRootStatus = Status;
         if (fInitializeNetRoot)
-        {
             pCreateNetRootContext->NetRootStatus = Status;
-        }
         else
-        {
             pCreateNetRootContext->NetRootStatus = STATUS_SUCCESS;
-        }
 
         /* Inform RDBSS. */
@@ -276,6 +272,5 @@
     PMRX_VBOX_NETROOT_EXTENSION pNetRootExtension = VBoxMRxGetNetRootExtension(pNetRoot);
 
-    Log(("VBOXSF: MRxFinalizeNetRoot: NET_ROOT %p\n",
-         pNetRoot));
+    Log(("VBOXSF: MRxFinalizeNetRoot: NET_ROOT %p\n", pNetRoot));
 
     if (pNetRootExtension->phgcmClient)
@@ -283,8 +278,6 @@
         int vboxRC = vboxCallUnmapFolder(pNetRootExtension->phgcmClient, &pNetRootExtension->map);
         if (vboxRC != VINF_SUCCESS)
-        {
             Log(("VBOXSF: MRxFinalizeVNetRoot: vboxCallUnmapFolder failed with %d\n",
                  vboxRC));
-        }
         pNetRootExtension->phgcmClient = NULL;
     }
@@ -401,7 +394,5 @@
     }
     else
-    {
         Verifier = FALSE;
-    }
 
     if (Verifier)
@@ -425,6 +416,5 @@
     PMRX_SRVCALLDOWN_STRUCTURE SrvCalldownStructure = (PMRX_SRVCALLDOWN_STRUCTURE)(pCallbackContext->SrvCalldownStructure);
 
-    Log(("VBOXSF: MRxCreateSrvCall: %p.\n",
-         pSrvCall));
+    Log(("VBOXSF: MRxCreateSrvCall: %p.\n", pSrvCall));
 
     if (IoGetCurrentProcess() == RxGetRDBSSProcess())
@@ -445,7 +435,5 @@
 
         if (Status == STATUS_SUCCESS)
-        {
             Log(("VBOXSF: MRxCreateSrvCall: queued\n"));
-        }
         else
         {
@@ -462,6 +450,5 @@
                                  BOOLEAN Force)
 {
-    Log(("VBOXSF: MRxFinalizeSrvCall %p, ctx = %p.\n",
-         pSrvCall, pSrvCall->Context));
+    Log(("VBOXSF: MRxFinalizeSrvCall %p, ctx = %p.\n", pSrvCall, pSrvCall->Context));
 
     pSrvCall->Context = NULL;
Index: /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/path.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/path.c	(revision 51253)
+++ /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/path.c	(revision 51254)
@@ -253,10 +253,8 @@
          */
         ParsedPathSize = sizeof(*ParsedPath) + (RemainingName->Length + sizeof(WCHAR));
-
-        Log(("VBOXSF: vbsfProcessCreate: ParsedPathSize = %d\n",
-             ParsedPathSize));
+        Log(("VBOXSF: vbsfProcessCreate: ParsedPathSize = %d\n", ParsedPathSize));
 
         ParsedPath = (PSHFLSTRING)vbsfAllocNonPagedMem(ParsedPathSize);
-        if (ParsedPath == NULL)
+        if (!ParsedPath)
         {
             Status = STATUS_INSUFFICIENT_RESOURCES;
@@ -264,7 +262,11 @@
         }
 
-        ShflStringInitBuffer(ParsedPath, ParsedPathSize - sizeof(SHFLSTRING));
-
-        ParsedPath->u16Size = RemainingName->Length + sizeof(WCHAR);
+        if (!ShflStringInitBuffer(ParsedPath, ParsedPathSize))
+        {
+            vbsfFreeNonPagedMem(ParsedPath);
+            Status = STATUS_INSUFFICIENT_RESOURCES;
+            goto failure;
+        }
+
         ParsedPath->u16Length = ParsedPath->u16Size - sizeof(WCHAR); /* without terminating null */
         RtlCopyMemory (ParsedPath->String.ucs2, RemainingName->Buffer, ParsedPath->u16Length);
@@ -292,5 +294,5 @@
                 Status = STATUS_OBJECT_NAME_COLLISION;
                 goto failure;
-            } break;
+            }
 
             /* On POSIX systems, the "mkdir" command returns VERR_FILE_NOT_FOUND when
@@ -299,5 +301,6 @@
             {
                 pCreateParms->Result = SHFL_PATH_NOT_FOUND;
-            } break;
+                break;
+            }
 
             default:
@@ -306,5 +309,5 @@
                 Status = VBoxErrorToNTStatus(vboxRC);
                 goto failure;
-            } break;
+            }
         }
     }
@@ -370,5 +373,4 @@
         {
             /* A new file was created. */
-
             Assert(pCreateParms->Handle != SHFL_HANDLE_NIL);
 
@@ -382,15 +384,10 @@
         {
             /* Existing file was replaced or overwriting. */
-
             Assert(pCreateParms->Handle != SHFL_HANDLE_NIL);
 
             if (CreateDisposition == FILE_SUPERSEDE)
-            {
                 *pulCreateAction = FILE_SUPERSEDED;
-            }
             else
-            {
                 *pulCreateAction = FILE_OVERWRITTEN;
-            }
             /* Go check flags and create FCB. */
             break;
@@ -469,7 +466,5 @@
 
     if (pCreateParms)
-    {
         vbsfFreeNonPagedMem(pCreateParms);
-    }
 
     return Status;
@@ -549,5 +544,5 @@
 
     RxContext->pFobx = RxCreateNetFobx(RxContext, SrvOpen);
-    if (RxContext->pFobx == NULL)
+    if (!RxContext->pFobx)
     {
         Log(("VBOXSF: MRxCreate: RxCreateNetFobx failed\n"));
@@ -657,8 +652,6 @@
           pVBoxFobx, pVBoxFobx? pVBoxFobx->hFile: 0));
 
-    if (NULL == pVBoxFobx)
-    {
+    if (!pVBoxFobx)
         return STATUS_INVALID_PARAMETER;
-    }
 
     return STATUS_SUCCESS;
@@ -700,5 +693,5 @@
     cbBuffer = sizeof(SHFLFSOBJINFO);
     pHGCMBuffer = (uint8_t *)vbsfAllocNonPagedMem(cbBuffer);
-    if (pHGCMBuffer == NULL)
+    if (!pHGCMBuffer)
     {
         AssertFailed();
@@ -710,23 +703,13 @@
     /* The properties, that need to be changed, are set to something other than zero */
     if (pInfo->CreationTime.QuadPart && (SetAttrFlags & VBOX_FOBX_F_INFO_CREATION_TIME) != 0)
-    {
         RTTimeSpecSetNtTime(&pSHFLFileInfo->BirthTime, pInfo->CreationTime.QuadPart);
-    }
     if (pInfo->LastAccessTime.QuadPart && (SetAttrFlags & VBOX_FOBX_F_INFO_LASTACCESS_TIME) != 0)
-    {
         RTTimeSpecSetNtTime(&pSHFLFileInfo->AccessTime, pInfo->LastAccessTime.QuadPart);
-    }
     if (pInfo->LastWriteTime.QuadPart && (SetAttrFlags & VBOX_FOBX_F_INFO_LASTWRITE_TIME) != 0)
-    {
         RTTimeSpecSetNtTime(&pSHFLFileInfo->ModificationTime, pInfo->LastWriteTime.QuadPart);
-    }
     if (pInfo->ChangeTime.QuadPart && (SetAttrFlags & VBOX_FOBX_F_INFO_CHANGE_TIME) != 0)
-    {
         RTTimeSpecSetNtTime(&pSHFLFileInfo->ChangeTime, pInfo->ChangeTime.QuadPart);
-    }
     if (pInfo->FileAttributes && (SetAttrFlags & VBOX_FOBX_F_INFO_ATTRIBUTES) != 0)
-    {
         pSHFLFileInfo->Attr.fMode = NTToVBoxFileAttributes(pInfo->FileAttributes);
-    }
 
     vboxRC = vboxCallFSInfo(&pDeviceExtension->hgcmClient, &pNetRootExtension->map, pVBoxFobx->hFile,
@@ -734,15 +717,10 @@
 
     if (vboxRC != VINF_SUCCESS)
-    {
         Status = VBoxErrorToNTStatus(vboxRC);
-    }
 
     if (pHGCMBuffer)
-    {
         vbsfFreeNonPagedMem(pHGCMBuffer);
-    }
-
-    Log(("VBOXSF: vbsfSetFileInfo: Returned 0x%08X\n",
-         Status));
+
+    Log(("VBOXSF: vbsfSetFileInfo: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -788,10 +766,7 @@
 
     if (vboxRC != VINF_SUCCESS)
-    {
         Status = VBoxErrorToNTStatus(vboxRC);
-    }
-
-    Log(("VBOXSF: vbsfCloseFileHandle: Returned 0x%08X\n",
-         Status));
+
+    Log(("VBOXSF: vbsfCloseFileHandle: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -820,8 +795,6 @@
          RemainingName->Length / sizeof(WCHAR), RemainingName->Buffer, RemainingName->Length));
 
-    if (NULL == pVBoxFobx)
-    {
+    if (!pVBoxFobx)
         return STATUS_INVALID_PARAMETER;
-    }
 
     if (FlagOn(pSrvOpen->Flags, (SRVOPEN_FLAG_FILE_RENAMED | SRVOPEN_FLAG_FILE_DELETED)))
@@ -836,7 +809,5 @@
     /* Close file */
     if (pVBoxFobx->hFile != SHFL_HANDLE_NIL)
-    {
         vbsfCloseFileHandle(pDeviceExtension, pNetRootExtension, pVBoxFobx);
-    }
 
     if (capFcb->FcbState & FCB_STATE_DELETE_ON_CLOSE)
@@ -847,7 +818,5 @@
         /* Remove file or directory if delete action is pending. */
         if (capFcb->OpenCount == 0)
-        {
             Status = vbsfRemove(RxContext);
-        }
     }
 
@@ -877,25 +846,21 @@
     /* Close file first if not already done. */
     if (pVBoxFobx->hFile != SHFL_HANDLE_NIL)
-    {
         vbsfCloseFileHandle(pDeviceExtension, pNetRootExtension, pVBoxFobx);
-    }
-
-    /* Calculate length required for parsed path.
-     */
-    ParsedPathSize = sizeof(*ParsedPath) + (RemainingName->Length + sizeof(WCHAR));
-
-    Log(("VBOXSF: vbsfRemove: ParsedPathSize %d\n",
-         ParsedPathSize));
+
+    /* Calculate length required for parsed path. */
+    ParsedPathSize = sizeof(SHFLSTRING) + RemainingName->Length + sizeof(WCHAR);
+    Log(("VBOXSF: vbsfRemove: ParsedPathSize %d\n", ParsedPathSize));
 
     ParsedPath = (PSHFLSTRING)vbsfAllocNonPagedMem(ParsedPathSize);
     if (!ParsedPath)
-    {
         return STATUS_INSUFFICIENT_RESOURCES;
-    }
-
-    ShflStringInitBuffer(ParsedPath, ParsedPathSize - sizeof(SHFLSTRING));
+
+    if (!ShflStringInitBuffer(ParsedPath, ParsedPathSize))
+    {
+        vbsfFreeNonPagedMem(ParsedPath);
+        return STATUS_INSUFFICIENT_RESOURCES;
+    }
 
     Log(("VBOXSF: vbsfRemove: Setup ParsedPath\n"));
-    ParsedPath->u16Size = RemainingName->Length + sizeof(WCHAR);
     ParsedPath->u16Length = ParsedPath->u16Size - sizeof(WCHAR); /* without terminating null */
     RtlCopyMemory(ParsedPath->String.ucs2, RemainingName->Buffer, ParsedPath->u16Length);
@@ -907,22 +872,14 @@
 
     if (ParsedPath)
-    {
         vbsfFreeNonPagedMem(ParsedPath);
-    }
 
     if (vboxRC == VINF_SUCCESS)
-    {
         SetFlag(capFobx->pSrvOpen->Flags, SRVOPEN_FLAG_FILE_DELETED);
-    }
 
     Status = VBoxErrorToNTStatus(vboxRC);
     if (vboxRC != VINF_SUCCESS)
-    {
-        Log(("VBOXSF: vbsfRemove: vboxCallRemove failed with %Rrc\n",
-             vboxRC));
-    }
-
-    Log(("VBOXSF: vbsfRemove: Returned 0x%08X\n",
-         Status));
+        Log(("VBOXSF: vbsfRemove: vboxCallRemove failed with %Rrc\n", vboxRC));
+
+    Log(("VBOXSF: vbsfRemove: Returned 0x%08X\n", Status));
     return Status;
 }
@@ -957,7 +914,5 @@
     /* Must close the file before renaming it! */
     if (pVBoxFobx->hFile != SHFL_HANDLE_NIL)
-    {
         vbsfCloseFileHandle(pDeviceExtension, pNetRootExtension, pVBoxFobx);
-    }
 
     /* Mark it as renamed, so we do nothing during close */
@@ -965,22 +920,19 @@
 
     /* Calculate length required for destination path. */
-    ParsedPathSize = sizeof(*DestPath) + (RenameInformation->FileNameLength + sizeof(WCHAR));
-
-    Log(("VBOXSF: vbsfRename: ParsedPathSize = %d\n",
-         ParsedPathSize));
+    ParsedPathSize = sizeof(SHFLSTRING) + RenameInformation->FileNameLength + sizeof(WCHAR);
+    Log(("VBOXSF: vbsfRename: ParsedPathSize = %d\n", ParsedPathSize));
 
     DestPath = (PSHFLSTRING)vbsfAllocNonPagedMem(ParsedPathSize);
-
-    if (NULL == DestPath)
-    {
+    if (!DestPath)
         return STATUS_INSUFFICIENT_RESOURCES;
-    }
 
     RtlZeroMemory(DestPath, ParsedPathSize);
-    ShflStringInitBuffer(DestPath, ParsedPathSize - sizeof(SHFLSTRING));
+    if (!ShflStringInitBuffer(DestPath, ParsedPathSize))
+    {
+        vbsfFreeNonPagedMem(DestPath);
+        return STATUS_INSUFFICIENT_RESOURCES;
+    }
 
     Log(("VBOXSF: vbsfRename: Setting up destination path\n"));
-
-    DestPath->u16Size = (USHORT)(RenameInformation->FileNameLength + sizeof(WCHAR));
     DestPath->u16Length = DestPath->u16Size - sizeof(WCHAR); /* without terminating null */
     RtlCopyMemory(DestPath->String.ucs2, RenameInformation->FileName, DestPath->u16Length);
@@ -995,6 +947,5 @@
 
     SrcPath = (PSHFLSTRING)vbsfAllocNonPagedMem(ParsedPathSize);
-
-    if (NULL == SrcPath)
+    if (!SrcPath)
     {
         vbsfFreeNonPagedMem(DestPath);
@@ -1003,9 +954,13 @@
 
     RtlZeroMemory(SrcPath, ParsedPathSize);
-    ShflStringInitBuffer(SrcPath, ParsedPathSize - sizeof(SHFLSTRING));
+    if (!ShflStringInitBuffer(SrcPath, ParsedPathSize))
+    {
+        vbsfFreeNonPagedMem(DestPath);
+        vbsfFreeNonPagedMem(SrcPath);
+        return STATUS_INSUFFICIENT_RESOURCES;
+    }
 
     Log(("VBOXSF: vbsfRename: Setting up source path\n"));
 
-    SrcPath->u16Size = RemainingName->Length + sizeof(WCHAR);
     SrcPath->u16Length = SrcPath->u16Size - sizeof(WCHAR); /* without terminating null */
     RtlCopyMemory(SrcPath->String.ucs2, RemainingName->Buffer, SrcPath->u16Length);
@@ -1017,7 +972,5 @@
     flags = pVBoxFobx->FileStandardInfo.Directory? SHFL_RENAME_DIR : SHFL_RENAME_FILE;
     if (RenameInformation->ReplaceIfExists)
-    {
         flags |= SHFL_RENAME_REPLACE_IF_EXISTS;
-    }
 
     Log(("VBOXSF: vbsfRename: Calling vboxCallRename\n"));
@@ -1029,11 +982,7 @@
     Status = VBoxErrorToNTStatus(vboxRC);
     if (vboxRC != VINF_SUCCESS)
-    {
-        Log(("VBOXSF: vbsfRename: vboxCallRename failed with %Rrc\n",
-             vboxRC));
-    }
-
-    Log(("VBOXSF: vbsfRename: Returned 0x%08X\n",
-         Status));
+        Log(("VBOXSF: vbsfRename: vboxCallRename failed with %Rrc\n", vboxRC));
+
+    Log(("VBOXSF: vbsfRename: Returned 0x%08X\n", Status));
     return Status;
 }
Index: /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c
===================================================================
--- /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c	(revision 51253)
+++ /trunk/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c	(revision 51254)
@@ -103,7 +103,5 @@
 
                 if (State != MRX_VBOX_STARTABLE)
-                {
                     Status = STATUS_REDIRECTOR_STARTED;
-                }
             }
 
@@ -111,7 +109,5 @@
         }
         else
-        {
             Status = STATUS_INSUFFICIENT_RESOURCES;
-        }
 
         RxUnregisterMinirdr(VBoxMRxDeviceObject);
@@ -121,13 +117,9 @@
     Status = IoDeleteSymbolicLink(&UserModeDeviceName);
     if (Status != STATUS_SUCCESS)
-    {
-        Log(("VBOXSF: MRxUnload: IoDeleteSymbolicLink Status 0x%08X\n",
-             Status));
-    }
+        Log(("VBOXSF: MRxUnload: IoDeleteSymbolicLink Status 0x%08X\n", Status));
 
     RxUnload(DriverObject);
 
-    Log(("VBOXSF: MRxUnload: VBoxSF.sys driver object %p unloaded\n",
-         DriverObject));
+    Log(("VBOXSF: MRxUnload: VBoxSF.sys driver object %p unloaded\n", DriverObject));
 }
 
@@ -234,7 +226,5 @@
     }
     else
-    {
         PrefixOK = FALSE;
-    }
 
     return PrefixOK;
@@ -425,5 +415,5 @@
     Log(("VBOXSF: DriverEntry: Driver object %p\n", DriverObject));
 
-    if (DriverObject == NULL)
+    if (!DriverObject)
     {
         Log(("VBOXSF: DriverEntry: driver object is NULL.\n"));
@@ -435,6 +425,5 @@
     if (RT_FAILURE(vboxRC))
     {
-        Log(("VBOXSF: DriverEntry: ERROR while initializing VBox subsystem (%Rrc)!\n",
-             vboxRC));
+        Log(("VBOXSF: DriverEntry: ERROR while initializing VBox subsystem (%Rrc)!\n", vboxRC));
         return STATUS_UNSUCCESSFUL;
     }
@@ -639,5 +628,4 @@
             Log(("VBOXSF: MRxDevFcbXXXControlFile: IRP_MN_USER_FS_REQUEST: 0x%08X\n",
                  LowIoContext->ParamsFor.FsCtl.MinorFunction));
-
             Status = STATUS_INVALID_DEVICE_REQUEST;
             break;
@@ -652,5 +640,6 @@
                     Log(("VBOXSF: MRxDevFcbXXXControlFile: IOCTL_MRX_VBOX_ADDCONN\n"));
                     Status = vbsfCreateConnection(RxContext, &RxContext->PostRequest);
-                } break;
+                    break;
+                }
 
                 case IOCTL_MRX_VBOX_DELCONN:
@@ -658,5 +647,6 @@
                     Log(("VBOXSF: MRxDevFcbXXXControlFile: IOCTL_MRX_VBOX_DELCONN\n"));
                     Status = vbsfDeleteConnection(RxContext, &RxContext->PostRequest);
-                } break;
+                    break;
+                }
 
                 case IOCTL_MRX_VBOX_GETLIST:
@@ -667,5 +657,5 @@
                     Log(("VBOXSF: MRxDevFcbXXXControlFile: IOCTL_MRX_VBOX_GETLIST\n"));
 
-                    if (NULL == pDeviceExtension)
+                    if (!pDeviceExtension)
                     {
                         RxContext->InformationToReturn = 0;
@@ -673,5 +663,5 @@
                     }
 
-                    if ((cbOut >= _MRX_MAX_DRIVE_LETTERS) && (NULL != pu8Out))
+                    if (cbOut >= _MRX_MAX_DRIVE_LETTERS && !pu8Out)
                     {
                         BOOLEAN fLocked = FALSE;
@@ -713,10 +703,8 @@
                     RxContext->InformationToReturn = 0;
 
-                    if (NULL == pDeviceExtension)
-                    {
+                    if (!pDeviceExtension)
                         break;
-                    }
-
-                    if ((cbOut >= _MRX_MAX_DRIVE_LETTERS) && (NULL != pu8Out))
+
+                    if (cbOut >= _MRX_MAX_DRIVE_LETTERS && !pu8Out)
                     {
                         SHFLMAPPING mappings[_MRX_MAX_DRIVE_LETTERS];
@@ -766,5 +754,5 @@
                          cbConnectName / sizeof(WCHAR), pwcConnectName, cbConnectName, pwcRemoteName, cbRemoteName));
 
-                    if (NULL == pDeviceExtension)
+                    if (!pDeviceExtension)
                     {
                         Status = STATUS_INVALID_PARAMETER;
@@ -774,5 +762,5 @@
                     Log(("VBOXSF: MRxDevFcbXXXControlFile: IOCTL_MRX_VBOX_GETCONN: Looking up connection name and connections\n"));
 
-                    if ((cbConnectName > sizeof(WCHAR)) && (NULL != pwcConnectName))
+                    if (cbConnectName > sizeof(WCHAR) && !pwcConnectName)
                     {
                         ULONG cbLocalConnectionName;
@@ -791,5 +779,5 @@
                         ExAcquireFastMutex(&pDeviceExtension->mtxLocalCon);
 
-                        if (NULL == pDeviceExtension->wszLocalConnectionName[idx])
+                        if (!pDeviceExtension->wszLocalConnectionName[idx])
                         {
                             Log(("VBOXSF: MRxDevFcbXXXControlFile: IOCTL_MRX_VBOX_GETCONN: LocalConnectionName is NULL!\n"));
@@ -840,5 +828,4 @@
 
                     int vboxRC;
-
                     PSHFLSTRING pString;
                     uint32_t cbString;
@@ -855,10 +842,14 @@
                     }
                     memset(pString, 0, cbString);
-                    ShflStringInitBuffer(pString, cbRemoteName);
+                    if (!ShflStringInitBuffer(pString, cbString))
+                    {
+                        vbsfFreeNonPagedMem(pString);
+                        Status = STATUS_BAD_NETWORK_NAME;
+                        break;
+                    }
 
                     vboxRC = vboxCallQueryMapName(&pDeviceExtension->hgcmClient,
                                                   (*pConnectId) & ~0x80 /** @todo fix properly */,
-                                                  pString,
-                                                  cbString);
+                                                  pString, cbString);
                     if (   vboxRC == VINF_SUCCESS
                         && pString->u16Length < cbRemoteName)
@@ -871,12 +862,11 @@
                     }
                     else
-                    {
                         Status = STATUS_BAD_NETWORK_NAME;
-                    }
 
                     vbsfFreeNonPagedMem(pString);
 
                     RxContext->InformationToReturn = ReturnedSize;
-                } break;
+                    break;
+                }
 
                 case IOCTL_MRX_VBOX_START:
@@ -1019,14 +1009,13 @@
 
                     if (Status == STATUS_PENDING && RxContext->PostRequest == TRUE)
-                    {
                         Status = STATUS_MORE_PROCESSING_REQUIRED;
-                    }
-
-                } break;
+                    break;
+                }
 
                 default:
                     Status = STATUS_INVALID_DEVICE_REQUEST;
                     break;
-            } break;
+            }
+            break;
         }
 
@@ -1073,7 +1062,5 @@
     {
         if (*pwc1 == 0 || *pwc == 0 || *pwc1 != *pwc)
-        {
             break;
-        }
     }
 
@@ -1096,7 +1083,5 @@
                /* @todo should also check that the drive letter corresponds to the name. */
                if (vboxIsPrefixOK(pwc, cRemainingName * sizeof (WCHAR)))
-               {
                    Status = STATUS_SUCCESS;
-               }
            }
         }
@@ -1180,10 +1165,8 @@
     pwcConnectName = (PWCHAR)LowIoContext->ParamsFor.IoCtl.pInputBuffer;
 
-    if (pDeviceExtension == NULL)
-    {
+    if (!pDeviceExtension)
         return STATUS_INVALID_PARAMETER;
-    }
-
-    if (cbConnectName == 0 || pwcConnectName == NULL)
+
+    if (cbConnectName == 0 || !pwcConnectName)
     {
         Log(("VBOXSF: vbsfCreateConnection: Connection name / length is invalid!\n"));
@@ -1212,7 +1195,5 @@
         {
             if (*pwc == L':')
-            {
                 break;
-            }
             pwc++;
         }
@@ -1244,5 +1225,5 @@
                     pDeviceExtension->wszLocalConnectionName[idx] = (PUNICODE_STRING)vbsfAllocNonPagedMem(sizeof(UNICODE_STRING) + cbConnectName);
 
-                    if (pDeviceExtension->wszLocalConnectionName[idx] == NULL)
+                    if (!pDeviceExtension->wszLocalConnectionName[idx])
                     {
                         Log(("VBOXSF: vbsfCreateConnection: LocalConnectionName at index %d NOT allocated!\n",
@@ -1457,3 +1438,2 @@
     return STATUS_SUCCESS;
 }
-
Index: /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp	(revision 51253)
+++ /trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp	(revision 51254)
@@ -250,5 +250,9 @@
     {
         RT_ZERO(*pString);
-        ShflStringInitBuffer(pString, SHFL_MAX_LEN);
+        if (!ShflStringInitBuffer(pString, SHFL_MAX_LEN))
+        {
+            RTMemFree(pString);
+            return VERR_INVALID_PARAMETER;
+        }
 
         VbglHGCMParmUInt32Set(&Msg.root, u32Root);
