From d87dae2daa01a00e0c30f7d876dc40e4cc6cd9cf Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Wed, 23 Nov 2011 18:15:26 +0000 Subject: [PATCH] [SERVICES] - Do not use an unsigned type for a value that can become negative in ScmAssignNewTag (CID 14665) svn path=/trunk/; revision=54482 --- reactos/base/system/services/rpcserver.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/reactos/base/system/services/rpcserver.c b/reactos/base/system/services/rpcserver.c index b36be7c43a6..f36fa39f9fe 100644 --- a/reactos/base/system/services/rpcserver.c +++ b/reactos/base/system/services/rpcserver.c @@ -271,7 +271,7 @@ ScmAssignNewTag(PSERVICE lpService) DWORD dwFreeTag = 0; DWORD dwTagUsedBase = 1; BOOLEAN TagUsed[TAG_ARRAY_SIZE]; - DWORD dwTagOffset; + INT nTagOffset; DWORD i; DWORD cbDataSize; PLIST_ENTRY ServiceEntry; @@ -333,9 +333,9 @@ findFreeTag: /* mark tags in GroupOrderList as used */ for (i = 1; i <= dwGroupTagCount; i++) { - dwTagOffset = pdwGroupTags[i] - dwTagUsedBase; - if (dwTagOffset >= 0 && dwTagOffset < TAG_ARRAY_SIZE) - TagUsed[dwTagOffset] = TRUE; + nTagOffset = pdwGroupTags[i] - dwTagUsedBase; + if (nTagOffset >= 0 && nTagOffset < TAG_ARRAY_SIZE) + TagUsed[nTagOffset] = TRUE; } /* mark tags in service list as used */ @@ -346,9 +346,9 @@ findFreeTag: CurrentService = CONTAINING_RECORD(ServiceEntry, SERVICE, ServiceListEntry); if (CurrentService->lpGroup == lpService->lpGroup) { - dwTagOffset = CurrentService->dwTag - dwTagUsedBase; - if (dwTagOffset >= 0 && dwTagOffset < TAG_ARRAY_SIZE) - TagUsed[dwTagOffset] = TRUE; + nTagOffset = CurrentService->dwTag - dwTagUsedBase; + if (nTagOffset >= 0 && nTagOffset < TAG_ARRAY_SIZE) + TagUsed[nTagOffset] = TRUE; } ServiceEntry = ServiceEntry->Flink; @@ -365,8 +365,7 @@ findFreeTag: } dwTagUsedBase += TAG_ARRAY_SIZE; - } - while (!dwFreeTag); + } while (!dwFreeTag); cleanup: if (pdwGroupTags)