https://git.reactos.org/?p=reactos.git;a=commitdiff;h=7611cc2b12fa875729f119b8febc6bc5b419d61c

commit 7611cc2b12fa875729f119b8febc6bc5b419d61c
Author:     Timo Kreuzer <[email protected]>
AuthorDate: Sun May 26 15:00:21 2019 +0200
Commit:     Timo Kreuzer <[email protected]>
CommitDate: Thu Aug 15 14:20:00 2019 +0200

    [REACTOS] Fix SIZE_T related warnings
---
 base/applications/atactl/atactl.cpp            |  2 +-
 base/applications/calc/winmain.c               |  2 +-
 base/applications/msconfig/startuppage.c       |  2 +-
 base/applications/msconfig_new/fileutils.c     |  4 +--
 base/applications/msconfig_new/utils.c         |  2 +-
 base/applications/msconfig_new/utils.h         |  2 +-
 base/applications/mscutils/eventvwr/eventvwr.c | 28 +++++++++-------
 base/applications/mstsc/connectdialog.c        |  2 +-
 base/applications/mstsc/settings.c             |  3 +-
 base/services/dhcpcsvc/dhcp/adapter.c          |  2 +-
 base/services/dhcpcsvc/dhcp/socket.c           | 18 ++++++++---
 base/setup/lib/utils/arcname.c                 | 44 ++++++++++++++++++++++----
 dll/ntdll/csr/connect.c                        | 20 +++++++++---
 dll/ntdll/ldr/ldrinit.c                        |  2 +-
 dll/ntdll/ldr/ldrutils.c                       |  2 +-
 dll/ntdll/rtl/version.c                        |  2 +-
 ntoskrnl/mm/pagefile.c                         |  2 +-
 sdk/include/reactos/shellutils.h               |  2 +-
 sdk/lib/rtl/network.c                          |  4 +--
 sdk/lib/rtl/path.c                             |  2 +-
 win32ss/drivers/videoprt/videoprt.c            |  2 +-
 21 files changed, 103 insertions(+), 46 deletions(-)

diff --git a/base/applications/atactl/atactl.cpp 
b/base/applications/atactl/atactl.cpp
index 3eac17a1e9a..48a10944714 100644
--- a/base/applications/atactl/atactl.cpp
+++ b/base/applications/atactl/atactl.cpp
@@ -1688,7 +1688,7 @@ main (
     )
 {
     //ULONG Flags = 0;
-    int i;
+    intptr_t i;
     uintptr_t j;
     char a;
     int bus_id = -1;
diff --git a/base/applications/calc/winmain.c b/base/applications/calc/winmain.c
index 4d9376bdf91..222dff44faf 100644
--- a/base/applications/calc/winmain.c
+++ b/base/applications/calc/winmain.c
@@ -894,7 +894,7 @@ static void delete_stat_item(int n)
 
 static char *ReadConversion(const char *formula)
 {
-    int len = strlen(formula);
+    intptr_t len = strlen(formula);
     char *str = (char *)malloc(len+3);
 
     if (str == NULL)
diff --git a/base/applications/msconfig/startuppage.c 
b/base/applications/msconfig/startuppage.c
index 2eb5817d795..2d06cdc5e64 100644
--- a/base/applications/msconfig/startuppage.c
+++ b/base/applications/msconfig/startuppage.c
@@ -187,7 +187,7 @@ GetAutostartEntriesFromRegistry ( HKEY hRootKey, TCHAR* 
KeyName )
                         SendMessage(hStartupListCtrl, LVM_SETITEMTEXT, 
item.iItem, (LPARAM) &item);
                     }
 
-                    switch (PtrToLong(hRootKey))
+                    switch ((ULONG_PTR)hRootKey)
                     {
                     case (ULONG_PTR)HKEY_LOCAL_MACHINE:
                         _tcscpy(Path, _T("HKLM\\\0"));
diff --git a/base/applications/msconfig_new/fileutils.c 
b/base/applications/msconfig_new/fileutils.c
index 8164a586356..45296d8a6d0 100644
--- a/base/applications/msconfig_new/fileutils.c
+++ b/base/applications/msconfig_new/fileutils.c
@@ -52,7 +52,7 @@ FileQueryFiles(IN LPCWSTR Path,
     WIN32_FIND_DATAW find_data;
 
     LPWSTR lpszQuery;
-    DWORD  dwNumOfChars;
+    SIZE_T dwNumOfChars;
     LPWSTR lpszExpandedQuery;
     HANDLE search;
 
@@ -93,7 +93,7 @@ FileQueryFiles(IN LPCWSTR Path,
 BOOL BackupIniFile(IN LPCWSTR lpszIniFile)
 {
     BOOL Success = FALSE;
-    DWORD dwNumOfChars = 0;
+    SIZE_T dwNumOfChars = 0;
     LPWSTR SourceFile, DestFile;
     LPWSTR lpName, lpPath;
 
diff --git a/base/applications/msconfig_new/utils.c 
b/base/applications/msconfig_new/utils.c
index 104081f78c5..3715fcf0da3 100644
--- a/base/applications/msconfig_new/utils.c
+++ b/base/applications/msconfig_new/utils.c
@@ -31,7 +31,7 @@ MemFree(IN PVOID lpMem)
 
 PVOID
 MemAlloc(IN DWORD dwFlags,
-         IN DWORD dwBytes)
+         IN SIZE_T dwBytes)
 {
     /* Allocate memory from the heap */
     return HeapAlloc(g_hHeap, dwFlags, dwBytes);
diff --git a/base/applications/msconfig_new/utils.h 
b/base/applications/msconfig_new/utils.h
index 873cd06d755..9fb97011ef2 100644
--- a/base/applications/msconfig_new/utils.h
+++ b/base/applications/msconfig_new/utils.h
@@ -25,7 +25,7 @@ MemFree(IN PVOID lpMem);
 
 PVOID
 MemAlloc(IN DWORD dwFlags,
-         IN DWORD dwBytes);
+         IN SIZE_T dwBytes);
 
 LPWSTR
 FormatDateTime(IN LPSYSTEMTIME pDateTime);
diff --git a/base/applications/mscutils/eventvwr/eventvwr.c 
b/base/applications/mscutils/eventvwr/eventvwr.c
index 01c416e1a68..db6a9cf7ced 100644
--- a/base/applications/mscutils/eventvwr/eventvwr.c
+++ b/base/applications/mscutils/eventvwr/eventvwr.c
@@ -560,7 +560,7 @@ SaveSettings(VOID)
                     Settings.wpPos.rcNormalPosition.bottom,
                     Settings.wpPos.showCmd);
 
-    dwSize = wcslen(buffer) * sizeof(WCHAR);
+    dwSize = (DWORD)(wcslen(buffer) * sizeof(WCHAR));
     RegSetValueExW(hKeyEventVwr, L"Window", 0, REG_SZ, (LPBYTE)buffer, dwSize);
 
 Quit:
@@ -1173,9 +1173,9 @@ FormatInteger(LONGLONG Num, LPWSTR pwszResult, UINT 
cchResultMax)
 UINT
 FormatByteSize(LONGLONG cbSize, LPWSTR pwszResult, UINT cchResultMax)
 {
-    INT cchWritten;
+    UINT cchWritten, cchRemaining;
     LPWSTR pwszEnd;
-    size_t cchRemaining;
+    size_t cchStringRemaining;
 
     /* Write formated bytes count */
     cchWritten = FormatInteger(cbSize, pwszResult, cchResultMax);
@@ -1185,7 +1185,8 @@ FormatByteSize(LONGLONG cbSize, LPWSTR pwszResult, UINT 
cchResultMax)
     /* Copy " bytes" to buffer */
     pwszEnd = pwszResult + cchWritten;
     cchRemaining = cchResultMax - cchWritten;
-    StringCchCopyExW(pwszEnd, cchRemaining, L" ", &pwszEnd, &cchRemaining, 0);
+    StringCchCopyExW(pwszEnd, cchRemaining, L" ", &pwszEnd, 
&cchStringRemaining, 0);
+    cchRemaining = (UINT)cchStringRemaining;
     cchWritten = LoadStringW(hInst, IDS_BYTES_FORMAT, pwszEnd, cchRemaining);
     cchRemaining -= cchWritten;
 
@@ -1195,9 +1196,9 @@ FormatByteSize(LONGLONG cbSize, LPWSTR pwszResult, UINT 
cchResultMax)
 LPWSTR
 FormatFileSizeWithBytes(const PULARGE_INTEGER lpQwSize, LPWSTR pwszResult, 
UINT cchResultMax)
 {
-    UINT cchWritten;
+    UINT cchWritten, cchRemaining;
     LPWSTR pwszEnd;
-    size_t cchRemaining;
+    size_t cchCopyRemaining;
 
     /* Format bytes in KBs, MBs etc */
     if (StrFormatByteSizeW(lpQwSize->QuadPart, pwszResult, cchResultMax) == 
NULL)
@@ -1208,10 +1209,11 @@ FormatFileSizeWithBytes(const PULARGE_INTEGER lpQwSize, 
LPWSTR pwszResult, UINT
         return pwszResult;
 
     /* Concatenate " (" */
-    cchWritten = wcslen(pwszResult);
+    cchWritten = (UINT)wcslen(pwszResult);
     pwszEnd = pwszResult + cchWritten;
     cchRemaining = cchResultMax - cchWritten;
-    StringCchCopyExW(pwszEnd, cchRemaining, L" (", &pwszEnd, &cchRemaining, 0);
+    StringCchCopyExW(pwszEnd, cchRemaining, L" (", &pwszEnd, 
&cchCopyRemaining, 0);
+    cchRemaining = (UINT)cchCopyRemaining;
 
     /* Write formated bytes count */
     cchWritten = FormatByteSize(lpQwSize->QuadPart, pwszEnd, cchRemaining);
@@ -1231,7 +1233,8 @@ GetFileTimeString(LPFILETIME lpFileTime, LPWSTR 
pwszResult, UINT cchResult)
     FILETIME ft;
     SYSTEMTIME st;
     int cchWritten;
-    size_t cchRemaining = cchResult;
+    UINT cchRemaining = cchResult;
+    size_t cchCopyRemaining;
     LPWSTR pwszEnd = pwszResult;
 
     if (!FileTimeToLocalFileTime(lpFileTime, &ft) || 
!FileTimeToSystemTime(&ft, &st))
@@ -1246,7 +1249,8 @@ GetFileTimeString(LPFILETIME lpFileTime, LPWSTR 
pwszResult, UINT cchResult)
     cchRemaining -= cchWritten;
     pwszEnd += cchWritten;
 
-    StringCchCopyExW(pwszEnd, cchRemaining, L", ", &pwszEnd, &cchRemaining, 0);
+    StringCchCopyExW(pwszEnd, cchRemaining, L", ", &pwszEnd, 
&cchCopyRemaining, 0);
+    cchRemaining = (UINT)cchCopyRemaining;
 
     cchWritten = GetTimeFormatW(LOCALE_USER_DEFAULT, 0, &st, NULL, pwszEnd, 
cchRemaining);
     if (cchWritten)
@@ -1294,7 +1298,7 @@ AllocEventLog(IN PCWSTR ComputerName OPTIONAL,
               IN BOOL Permanent)
 {
     PEVENTLOG EventLog;
-    UINT cchName;
+    SIZE_T cchName;
 
     /* Allocate a new event log entry */
     EventLog = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 
sizeof(*EventLog));
@@ -1467,7 +1471,7 @@ GetExpandedFilePathName(
     OUT LPWSTR lpFullFileName OPTIONAL,
     IN DWORD nSize)
 {
-    DWORD dwLength;
+    SIZE_T dwLength;
 
     /* Determine the needed size after expansion of any environment strings */
     dwLength = ExpandEnvironmentStringsW(lpFileName, NULL, 0);
diff --git a/base/applications/mstsc/connectdialog.c 
b/base/applications/mstsc/connectdialog.c
index 67f0966d7e1..5e3d2720f69 100644
--- a/base/applications/mstsc/connectdialog.c
+++ b/base/applications/mstsc/connectdialog.c
@@ -505,7 +505,7 @@ AddDisplayDevice(PINFO pInfo, PDISPLAY_DEVICEW 
DisplayDevice)
     LPWSTR name = NULL;
     LPWSTR key = NULL;
     LPWSTR devid = NULL;
-    DWORD descriptionSize, nameSize, keySize, devidSize;
+    SIZE_T descriptionSize, nameSize, keySize, devidSize;
     PSETTINGS_ENTRY Current;
     DWORD ResolutionsCount = 1;
     DWORD i;
diff --git a/base/applications/mstsc/settings.c 
b/base/applications/mstsc/settings.c
index 6a68282d556..a38ba4d4a1a 100644
--- a/base/applications/mstsc/settings.c
+++ b/base/applications/mstsc/settings.c
@@ -199,7 +199,8 @@ WriteRdpFile(HANDLE hFile,
              PRDPSETTINGS pRdpSettings)
 {
     WCHAR line[MAXKEY + MAXVALUE + 4];
-    DWORD BytesToWrite, BytesWritten;
+    SIZE_T BytesToWrite;
+    ULONG BytesWritten;
     BOOL bRet;
     INT i, k;
 
diff --git a/base/services/dhcpcsvc/dhcp/adapter.c 
b/base/services/dhcpcsvc/dhcp/adapter.c
index 91edf74dfd0..b2ff127285f 100644
--- a/base/services/dhcpcsvc/dhcp/adapter.c
+++ b/base/services/dhcpcsvc/dhcp/adapter.c
@@ -9,7 +9,7 @@ PCHAR *GetSubkeyNames( PCHAR MainKeyName, PCHAR Append ) {
     DWORD Error;
     HKEY MainKey;
     PCHAR *Out, OutKeyName;
-    DWORD CharTotal = 0, AppendLen = 1 + strlen(Append);
+    SIZE_T CharTotal = 0, AppendLen = 1 + strlen(Append);
     DWORD MaxSubKeyLen = 0, MaxSubKeys = 0;
 
     Error = RegOpenKey( HKEY_LOCAL_MACHINE, MainKeyName, &MainKey );
diff --git a/base/services/dhcpcsvc/dhcp/socket.c 
b/base/services/dhcpcsvc/dhcp/socket.c
index 4b406f51cce..007e082d2db 100644
--- a/base/services/dhcpcsvc/dhcp/socket.c
+++ b/base/services/dhcpcsvc/dhcp/socket.c
@@ -12,8 +12,13 @@ ssize_t send_packet( struct interface_info *ip,
                      struct in_addr addr,
                      struct sockaddr_in *broadcast,
                      struct hardware *hardware ) {
-    int result =
-        sendto( ip->wfdesc, (char *)p, size, 0,
+    int result;
+
+    if (size > INT_MAX)
+        return WSAEMSGSIZE;
+
+    result =
+        sendto( ip->wfdesc, (char *)p, (int)size, 0,
                 (struct sockaddr *)broadcast, sizeof(*broadcast) );
 
     if (result < 0) {
@@ -32,8 +37,13 @@ ssize_t receive_packet(struct interface_info *ip,
                        struct sockaddr_in *dest,
                        struct hardware *hardware ) {
     int recv_addr_size = sizeof(*dest);
-    int result =
-        recvfrom (ip -> rfdesc, (char *)packet_data, packet_len, 0,
+    int result;
+
+    if (packet_len > INT_MAX)
+        return WSAEMSGSIZE;
+
+    result =
+        recvfrom (ip -> rfdesc, (char *)packet_data, (int)packet_len, 0,
                   (struct sockaddr *)dest, &recv_addr_size );
     return result;
 }
diff --git a/base/setup/lib/utils/arcname.c b/base/setup/lib/utils/arcname.c
index 5d63dd02b34..77e7b579c58 100644
--- a/base/setup/lib/utils/arcname.c
+++ b/base/setup/lib/utils/arcname.c
@@ -119,7 +119,7 @@ ArcGetNextTokenA(
 {
     NTSTATUS Status;
     PCSTR p = ArcPath;
-    ULONG SpecifierLength;
+    SIZE_T SpecifierLength;
     ULONG KeyValue;
 
     /*
@@ -133,6 +133,10 @@ ArcGetNextTokenA(
         return NULL; /* Path starts with '(' and is thus invalid */
 
     SpecifierLength = (p - ArcPath) * sizeof(CHAR);
+    if (SpecifierLength > MAXUSHORT)
+    {
+        return NULL;
+    }
 
     /*
      * The strtoul function skips any leading whitespace.
@@ -163,7 +167,7 @@ ArcGetNextTokenA(
     if (!NT_SUCCESS(Status))
         return NULL;
 
-    TokenSpecifier->Length = strlen(TokenSpecifier->Buffer) * sizeof(CHAR);
+    TokenSpecifier->Length = (USHORT)SpecifierLength;
 
     /* We succeeded, return the token key value */
     *Key = KeyValue;
@@ -180,7 +184,7 @@ ArcGetNextTokenU(
 {
     NTSTATUS Status;
     PCWSTR p = ArcPath;
-    ULONG SpecifierLength;
+    SIZE_T SpecifierLength;
     ULONG KeyValue;
 
     /*
@@ -194,6 +198,10 @@ ArcGetNextTokenU(
         return NULL; /* Path starts with '(' and is thus invalid */
 
     SpecifierLength = (p - ArcPath) * sizeof(WCHAR);
+    if (SpecifierLength > UNICODE_STRING_MAX_BYTES)
+    {
+        return NULL;
+    }
 
     ++p;
 
@@ -226,7 +234,7 @@ ArcGetNextTokenU(
     if (!NT_SUCCESS(Status))
         return NULL;
 
-    TokenSpecifier->Length = wcslen(TokenSpecifier->Buffer) * sizeof(WCHAR);
+    TokenSpecifier->Length = (USHORT)SpecifierLength;
 
     /* We succeeded, return the token key value */
     *Key = KeyValue;
@@ -308,6 +316,7 @@ ArcPathNormalize(
     NTSTATUS Status;
     PCWSTR EndOfArcName;
     PCWSTR p;
+    SIZE_T PathLength;
 
     if (NormalizedArcPath->MaximumLength < sizeof(UNICODE_NULL))
         return FALSE;
@@ -350,7 +359,13 @@ ArcPathNormalize(
     if (!NT_SUCCESS(Status))
         return FALSE;
 
-    NormalizedArcPath->Length = wcslen(NormalizedArcPath->Buffer) * 
sizeof(WCHAR);
+    PathLength = wcslen(NormalizedArcPath->Buffer);
+    if (PathLength > UNICODE_STRING_MAX_CHARS)
+    {
+        return FALSE;
+    }
+
+    NormalizedArcPath->Length = (USHORT)PathLength * sizeof(WCHAR);
     return TRUE;
 }
 
@@ -685,6 +700,7 @@ ResolveArcNameManually(
     CONTROLLER_TYPE ControllerType;
     PERIPHERAL_TYPE PeripheralType;
     BOOLEAN UseSignature;
+    SIZE_T NameLength;
 
     PDISKENTRY DiskEntry;
     PPARTENTRY PartEntry = NULL;
@@ -787,7 +803,13 @@ ResolveArcNameManually(
     }
 
     /* Update NtName length */
-    NtName->Length = wcslen(NtName->Buffer) * sizeof(WCHAR);
+    NameLength = wcslen(NtName->Buffer);
+    if (NameLength > UNICODE_STRING_MAX_CHARS)
+    {
+        return STATUS_NAME_TOO_LONG;
+    }
+
+    NtName->Length = (USHORT)NameLength * sizeof(WCHAR);
 
     return STATUS_SUCCESS;
 }
@@ -802,6 +824,7 @@ ArcPathToNtPath(
     NTSTATUS Status;
     PCWSTR BeginOfPath;
     UNICODE_STRING ArcName;
+    SIZE_T PathLength;
 
     /* TODO: We should "normalize" the path, i.e. expand all the xxx() into 
xxx(0) */
 
@@ -877,7 +900,14 @@ ArcPathToNtPath(
             return FALSE;
         }
     }
-    NtPath->Length = wcslen(NtPath->Buffer) * sizeof(WCHAR);
+
+    PathLength = wcslen(NtPath->Buffer);
+    if (PathLength > UNICODE_STRING_MAX_CHARS)
+    {
+        return FALSE;
+    }
+
+    NtPath->Length = (USHORT)PathLength * sizeof(WCHAR);
 
     return TRUE;
 }
diff --git a/dll/ntdll/csr/connect.c b/dll/ntdll/csr/connect.c
index a1a95096e37..213b48b9457 100644
--- a/dll/ntdll/csr/connect.c
+++ b/dll/ntdll/csr/connect.c
@@ -39,7 +39,7 @@ NTAPI
 CsrpConnectToServer(IN PWSTR ObjectDirectory)
 {
     NTSTATUS Status;
-    ULONG PortNameLength;
+    SIZE_T PortNameLength;
     UNICODE_STRING PortName;
     LARGE_INTEGER CsrSectionViewSize;
     HANDLE CsrSectionHandle;
@@ -62,10 +62,15 @@ CsrpConnectToServer(IN PWSTR ObjectDirectory)
     /* Calculate the total port name size */
     PortNameLength = ((wcslen(ObjectDirectory) + 1) * sizeof(WCHAR)) +
                      sizeof(CSR_PORT_NAME);
+    if (PortNameLength > UNICODE_STRING_MAX_BYTES)
+    {
+        DPRINT1("PortNameLength too big: %Iu", PortNameLength);
+        return STATUS_NAME_TOO_LONG;
+    }
 
     /* Set the port name */
     PortName.Length = 0;
-    PortName.MaximumLength = PortNameLength;
+    PortName.MaximumLength = (USHORT)PortNameLength;
 
     /* Allocate a buffer for it */
     PortName.Buffer = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, 
PortNameLength);
@@ -366,11 +371,18 @@ CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage,
     ULONG PointerCount;
     PULONG_PTR OffsetPointer;
 
+    /* Make sure the length is valid */
+    if (DataLength > (MAXSHORT - sizeof(CSR_API_MESSAGE)))
+    {
+        DPRINT1("DataLength too big: %lu", DataLength);
+        return STATUS_INVALID_PARAMETER;
+    }
+
     /* Fill out the Port Message Header */
     ApiMessage->Header.u2.ZeroInit = 0;
-    ApiMessage->Header.u1.s1.TotalLength = DataLength +
+    ApiMessage->Header.u1.s1.TotalLength = (CSHORT)DataLength +
         sizeof(CSR_API_MESSAGE) - sizeof(ApiMessage->Data); // 
FIELD_OFFSET(CSR_API_MESSAGE, Data) + DataLength;
-    ApiMessage->Header.u1.s1.DataLength = DataLength +
+    ApiMessage->Header.u1.s1.DataLength = (CSHORT)DataLength +
         FIELD_OFFSET(CSR_API_MESSAGE, Data) - sizeof(ApiMessage->Header); // 
ApiMessage->Header.u1.s1.TotalLength - sizeof(PORT_MESSAGE);
 
     /* Fill out the CSR Header */
diff --git a/dll/ntdll/ldr/ldrinit.c b/dll/ntdll/ldr/ldrinit.c
index 39567578d91..16a3361421a 100644
--- a/dll/ntdll/ldr/ldrinit.c
+++ b/dll/ntdll/ldr/ldrinit.c
@@ -2365,7 +2365,7 @@ LdrpInitializeProcess(IN PCONTEXT Context,
     {
         WCHAR szCSDVersion[128];
         LONG i;
-        ULONG Length = ARRAYSIZE(szCSDVersion) - 1;
+        USHORT Length = (USHORT)ARRAYSIZE(szCSDVersion) - 1;
         i = _snwprintf(szCSDVersion, Length,
                        L"Service Pack %d",
                        ((Peb->OSCSDVersion >> 8) & 0xFF));
diff --git a/dll/ntdll/ldr/ldrutils.c b/dll/ntdll/ldr/ldrutils.c
index 1011a850468..4c1adbf7810 100644
--- a/dll/ntdll/ldr/ldrutils.c
+++ b/dll/ntdll/ldr/ldrutils.c
@@ -67,7 +67,7 @@ LdrpAllocateUnicodeString(IN OUT PUNICODE_STRING StringOut,
     if (Length != UNICODE_STRING_MAX_BYTES)
     {
         /* It's not, so set the maximum length to be one char more */
-        StringOut->MaximumLength = Length + sizeof(UNICODE_NULL);
+        StringOut->MaximumLength = (USHORT)Length + sizeof(UNICODE_NULL);
     }
     else
     {
diff --git a/dll/ntdll/rtl/version.c b/dll/ntdll/rtl/version.c
index ac59adab139..37f0960ec66 100644
--- a/dll/ntdll/rtl/version.c
+++ b/dll/ntdll/rtl/version.c
@@ -157,7 +157,7 @@ RtlGetNtVersionNumbers(OUT PULONG pMajorVersion,
 NTSTATUS NTAPI
 RtlGetVersion(IN OUT PRTL_OSVERSIONINFOW lpVersionInformation)
 {
-    ULONG Length;
+    SIZE_T Length;
     PPEB Peb = NtCurrentPeb();
 
     if (lpVersionInformation->dwOSVersionInfoSize != 
sizeof(RTL_OSVERSIONINFOW) &&
diff --git a/ntoskrnl/mm/pagefile.c b/ntoskrnl/mm/pagefile.c
index 54af15974a8..f94b65a60aa 100644
--- a/ntoskrnl/mm/pagefile.c
+++ b/ntoskrnl/mm/pagefile.c
@@ -357,7 +357,7 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
     IO_STATUS_BLOCK IoStatus;
     PFILE_OBJECT FileObject;
     PMMPAGING_FILE PagingFile;
-    ULONG AllocMapSize;
+    SIZE_T AllocMapSize;
     ULONG Count;
     KPROCESSOR_MODE PreviousMode;
     UNICODE_STRING PageFileName;
diff --git a/sdk/include/reactos/shellutils.h b/sdk/include/reactos/shellutils.h
index 1e8aa314ad4..f7f6bd03353 100644
--- a/sdk/include/reactos/shellutils.h
+++ b/sdk/include/reactos/shellutils.h
@@ -351,7 +351,7 @@ HRESULT inline SHSetStrRet(LPSTRRET pStrRet, LPCSTR 
pstrValue)
 
 HRESULT inline SHSetStrRet(LPSTRRET pStrRet, LPCWSTR pwstrValue)
 {
-    ULONG cchr = wcslen(pwstrValue);
+    SIZE_T cchr = wcslen(pwstrValue);
     LPWSTR buffer = static_cast<LPWSTR>(CoTaskMemAlloc((cchr + 1) * 
sizeof(WCHAR)));
     if (buffer == NULL)
         return E_OUTOFMEMORY;
diff --git a/sdk/lib/rtl/network.c b/sdk/lib/rtl/network.c
index 025cd9ea472..44151e42b5e 100644
--- a/sdk/lib/rtl/network.c
+++ b/sdk/lib/rtl/network.c
@@ -515,7 +515,7 @@ RtlIpv6AddressToStringA(
     ASSERT(Result >= Buffer);
     ASSERT(Result < Buffer + RTL_NUMBER_OF(Buffer));
 
-    Status = RtlUnicodeToMultiByteN(S, RTLIPV6A2S_MAX_LEN, NULL, Buffer, 
(wcslen(Buffer) + 1) * sizeof(WCHAR));
+    Status = RtlUnicodeToMultiByteN(S, RTLIPV6A2S_MAX_LEN, NULL, Buffer, 
(ULONG)(wcslen(Buffer) + 1) * sizeof(WCHAR));
     if (!NT_SUCCESS(Status))
         return (PSTR)~0;
 
@@ -544,7 +544,7 @@ RtlIpv6AddressToStringExA(
     if (!NT_SUCCESS(Status))
         return Status;
 
-    Status = RtlUnicodeToMultiByteN(AddressString, RTLIPV6A2SEX_MAX_LEN, NULL, 
Buffer, (wcslen(Buffer) + 1) * sizeof(WCHAR));
+    Status = RtlUnicodeToMultiByteN(AddressString, RTLIPV6A2SEX_MAX_LEN, NULL, 
Buffer, (*AddressStringLength + 1) * sizeof(WCHAR));
     if (!NT_SUCCESS(Status))
         return STATUS_INVALID_PARAMETER;
 
diff --git a/sdk/lib/rtl/path.c b/sdk/lib/rtl/path.c
index dd183b6801f..6031ae32087 100644
--- a/sdk/lib/rtl/path.c
+++ b/sdk/lib/rtl/path.c
@@ -309,7 +309,7 @@ RtlpCollapsePath(PWSTR Path, /* ULONG PathBufferSize, ULONG 
PathLength, */ ULONG
 
     // FIXME: Do not suppose NULL-terminated strings!!
 
-    ULONG PathLength = wcslen(Path);
+    SIZE_T PathLength = wcslen(Path);
     PWSTR EndBuffer = Path + PathLength; // Path + PathBufferSize / 
sizeof(WCHAR);
     PWSTR EndPath;
 
diff --git a/win32ss/drivers/videoprt/videoprt.c 
b/win32ss/drivers/videoprt/videoprt.c
index e840593be98..812f55ad6af 100644
--- a/win32ss/drivers/videoprt/videoprt.c
+++ b/win32ss/drivers/videoprt/videoprt.c
@@ -905,7 +905,7 @@ VideoPortScanRom(
     IN ULONG RomLength,
     IN PUCHAR String)
 {
-    ULONG StringLength;
+    SIZE_T StringLength;
     BOOLEAN Found;
     PUCHAR SearchLocation;
 

Reply via email to