From: Timo Kreuzer Date: Sun, 16 Dec 2012 14:23:05 +0000 (+0000) Subject: [FREELDR] X-Git-Tag: backups/ros-csrss@60644~104^2~108 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=f3900d8048368bfb84c977eb257eff5a11437c56 [FREELDR] Fix / silence a number of warnings/errors detected with VS-analyze svn path=/trunk/; revision=57924 --- diff --git a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c index fe547ec0803..8216144d381 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c @@ -1241,7 +1241,8 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey) } -static BOOLEAN +//static +BOOLEAN DetectKeyboardDevice(VOID) { UCHAR Status; @@ -1321,8 +1322,8 @@ DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey) PCONFIGURATION_COMPONENT_DATA PeripheralKey; ULONG Size; - /* HACK: don't call DetectKeyboardDevice() as it fails in Qemu 0.8.2 */ - if (TRUE || DetectKeyboardDevice()) + /* HACK: don't call DetectKeyboardDevice() as it fails in Qemu 0.8.2 + if (DetectKeyboardDevice()) */ { /* Set 'Configuration Data' value */ Size = sizeof(CM_PARTIAL_RESOURCE_LIST) + diff --git a/reactos/boot/freeldr/freeldr/arch/i386/ntoskrnl.c b/reactos/boot/freeldr/freeldr/arch/i386/ntoskrnl.c index 272401d2c36..ba09d9bc6be 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/ntoskrnl.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/ntoskrnl.c @@ -12,6 +12,7 @@ KeInitializeEvent( IN EVENT_TYPE Type, IN BOOLEAN State) { + memset(Event, 0, sizeof(*Event)); } VOID diff --git a/reactos/boot/freeldr/freeldr/arch/i386/pcmem.c b/reactos/boot/freeldr/freeldr/arch/i386/pcmem.c index 2c2536e66eb..bf045531aa4 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/pcmem.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/pcmem.c @@ -285,8 +285,8 @@ PcMemGetBiosMemoryMap(PFREELDR_MEMORY_DESCRIPTOR MemoryMap, ULONG MaxMemoryMapSi /* Add the descriptor */ MapCount = AddMemoryDescriptor(PcMemoryMap, MAX_BIOS_DESCRIPTORS, - RealBaseAddress / MM_PAGE_SIZE, - RealSize / MM_PAGE_SIZE, + (PFN_NUMBER)(RealBaseAddress / MM_PAGE_SIZE), + (PFN_NUMBER)(RealSize / MM_PAGE_SIZE), MemoryType); } diff --git a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c index bb47c63e554..fe3d2d64e86 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c @@ -17,6 +17,7 @@ */ #include +#include #define NDEBUG #include @@ -1047,6 +1048,7 @@ PcVideoClearScreen(UCHAR Attr) BufPtr < (USHORT *) (VIDEOTEXT_MEM_ADDRESS + VIDEOTEXT_MEM_SIZE); BufPtr++) { + _PRAGMA_WARNING_SUPPRESS(__WARNING_DEREF_NULL_PTR) *BufPtr = AttrChar; } } diff --git a/reactos/boot/freeldr/freeldr/arch/i386/xboxhw.c b/reactos/boot/freeldr/freeldr/arch/i386/xboxhw.c index 188f6460825..4cc9eee10bb 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/xboxhw.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/xboxhw.c @@ -327,11 +327,11 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, USHORT i; ULONG Size; BOOLEAN Changed; - + /* Count the number of visible drives */ DiskReportError(FALSE); DiskCount = 0; - + /* There are some really broken BIOSes out there. There are even BIOSes * that happily report success when you ask them to read from non-existent * harddisks. So, we set the buffer to known contents first, then try to @@ -357,9 +357,9 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, DiskReportError(TRUE); TRACE("BIOS reports %d harddisk%s\n", (int)DiskCount, (DiskCount == 1) ? "": "s"); - + //DetectBiosFloppyController(BusKey); - + /* Allocate resource descriptor */ Size = sizeof(CM_PARTIAL_RESOURCE_LIST) + sizeof(CM_INT13_DRIVE_PARAMETER) * DiskCount; @@ -369,7 +369,7 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, ERR("Failed to allocate resource descriptor\n"); return; } - + /* Initialize resource descriptor */ memset(PartialResourceList, 0, Size); PartialResourceList->Version = 1; @@ -380,7 +380,7 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PartialResourceList->PartialDescriptors[0].Flags = 0; PartialResourceList->PartialDescriptors[0].u.DeviceSpecificData.DataSize = sizeof(CM_INT13_DRIVE_PARAMETER) * DiskCount; - + /* Get harddisk Int13 geometry data */ Int13Drives = (PVOID)(((ULONG_PTR)PartialResourceList) + sizeof(CM_PARTIAL_RESOURCE_LIST)); for (i = 0; i < DiskCount; i++) @@ -392,7 +392,7 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, Int13Drives[i].SectorsPerTrack = (USHORT)Geometry.Sectors; Int13Drives[i].MaxHeads = (USHORT)Geometry.Heads - 1; Int13Drives[i].NumberDrives = DiskCount; - + TRACE( "Disk %x: %u Cylinders %u Heads %u Sectors %u Bytes\n", 0x80 + i, @@ -402,7 +402,7 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, Geometry.BytesPerSector); } } - + FldrCreateComponentKey(BusKey, ControllerClass, DiskController, @@ -414,14 +414,12 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, Size, &ControllerKey); TRACE("Created key: DiskController\\0\n"); - + MmHeapFree(PartialResourceList); - + /* Create and fill subkey for each harddisk */ for (i = 0; i < DiskCount; i++) { - PCM_PARTIAL_RESOURCE_LIST PartialResourceList; - ULONG Size; CHAR Identifier[20]; /* Get disk values */ diff --git a/reactos/boot/freeldr/freeldr/debug.c b/reactos/boot/freeldr/freeldr/debug.c index d553f260ef8..21b78ca2918 100644 --- a/reactos/boot/freeldr/freeldr/debug.c +++ b/reactos/boot/freeldr/freeldr/debug.c @@ -275,7 +275,7 @@ DbgAddDebugChannel( CHAR* channel, CHAR* level, CHAR op) iLevel = TRACE_LEVEL; else return FALSE; - + if(strcmp(channel, "memory") == 0) iChannel = DPRINT_MEMORY; else if(strcmp(channel, "filesystem") == 0) iChannel = DPRINT_FILESYSTEM; else if(strcmp(channel, "inifile") == 0) iChannel = DPRINT_INIFILE; @@ -289,7 +289,7 @@ DbgAddDebugChannel( CHAR* channel, CHAR* level, CHAR op) else if(strcmp(channel, "peloader") == 0) iChannel = DPRINT_PELOADER; else if(strcmp(channel, "scsiport") == 0) iChannel = DPRINT_SCSIPORT; else if(strcmp(channel, "heap") == 0) iChannel = DPRINT_HEAP; - else if(strcmp(channel, "all") == 0) + else if(strcmp(channel, "all") == 0) { int i; @@ -309,7 +309,7 @@ DbgAddDebugChannel( CHAR* channel, CHAR* level, CHAR op) DbgChannels[iChannel] |= iLevel; else DbgChannels[iChannel] &= ~iLevel; - + return TRUE; } @@ -411,7 +411,7 @@ RtlAssert(IN PVOID FailedAssertion, { if (Message) { - DbgPrint("Assertion \'%s\' failed at %s line %d: %s\n", + DbgPrint("Assertion \'%s\' failed at %s line %u: %s\n", (PCHAR)FailedAssertion, (PCHAR)FileName, LineNumber, @@ -419,7 +419,7 @@ RtlAssert(IN PVOID FailedAssertion, } else { - DbgPrint("Assertion \'%s\' failed at %s line %d\n", + DbgPrint("Assertion \'%s\' failed at %s line %u\n", (PCHAR)FailedAssertion, (PCHAR)FileName, LineNumber); diff --git a/reactos/boot/freeldr/freeldr/fs/ntfs.c b/reactos/boot/freeldr/freeldr/fs/ntfs.c index 824c8db2fb1..c523bcf854e 100644 --- a/reactos/boot/freeldr/freeldr/fs/ntfs.c +++ b/reactos/boot/freeldr/freeldr/fs/ntfs.c @@ -66,7 +66,7 @@ static PUCHAR NtfsDecodeRun(PUCHAR DataRun, LONGLONG *DataRunOffset, ULONGLONG * DataRun++; for (i = 0; i < DataRunLengthSize; i++) { - *DataRunLength += *DataRun << (i << 3); + *DataRunLength += ((ULONG64)*DataRun) << (i * 8); DataRun++; } @@ -79,11 +79,11 @@ static PUCHAR NtfsDecodeRun(PUCHAR DataRun, LONGLONG *DataRunOffset, ULONGLONG * { for (i = 0; i < DataRunOffsetSize - 1; i++) { - *DataRunOffset += *DataRun << (i << 3); + *DataRunOffset += ((ULONG64)*DataRun) << (i * 8); DataRun++; } /* The last byte contains sign so we must process it different way. */ - *DataRunOffset = ((CHAR)(*(DataRun++)) << (i << 3)) + *DataRunOffset; + *DataRunOffset = ((LONG64)(CHAR)(*(DataRun++)) << (i * 8)) + *DataRunOffset; } TRACE("DataRunOffsetSize: %x\n", DataRunOffsetSize); @@ -387,7 +387,7 @@ static PNTFS_ATTR_CONTEXT NtfsFindAttributeHelper(PNTFS_VOLUME_INFO Volume, PNTF ListBuffer = MmHeapAlloc((ULONG)ListSize); else ListBuffer = NULL; - + if(!ListBuffer) { TRACE("Failed to allocate memory: %x\n", (ULONG)ListSize); @@ -616,7 +616,7 @@ static BOOLEAN NtfsFindMftRecord(PNTFS_VOLUME_INFO Volume, ULONGLONG MFTIndex, P BitmapData = MmHeapAlloc((ULONG)BitmapDataSize); else BitmapData = NULL; - + if (BitmapData == NULL) { MmHeapFree(IndexRecord); diff --git a/reactos/boot/freeldr/freeldr/include/winldr.h b/reactos/boot/freeldr/freeldr/include/winldr.h index dd0aa4fdfea..b739a67623c 100644 --- a/reactos/boot/freeldr/freeldr/include/winldr.h +++ b/reactos/boot/freeldr/freeldr/include/winldr.h @@ -86,7 +86,7 @@ VOID LoadAndBootWindows(IN OperatingSystemItem* OperatingSystem, // conversion.c PVOID VaToPa(PVOID Va); PVOID PaToVa(PVOID Pa); -VOID List_PaToVa(LIST_ENTRY *ListEntry); +VOID List_PaToVa(_In_ LIST_ENTRY *ListEntry); VOID ConvertConfigToVA(PCONFIGURATION_COMPONENT_DATA Start); // peloader.c diff --git a/reactos/boot/freeldr/freeldr/inffile/inffile.c b/reactos/boot/freeldr/freeldr/inffile/inffile.c index 1b75ed863d7..f753a3bec56 100644 --- a/reactos/boot/freeldr/freeldr/inffile/inffile.c +++ b/reactos/boot/freeldr/freeldr/inffile/inffile.c @@ -560,7 +560,7 @@ static const CHAR *line_start_state( struct parser *parser, const CHAR *pos ) return p + 1; default: - if (!isspace(*p)) + if (!isspace((unsigned char)*p)) { parser->start = p; set_state( parser, KEY_NAME ); @@ -633,7 +633,7 @@ static const CHAR *key_name_state( struct parser *parser, const CHAR *pos ) set_state( parser, EOL_BACKSLASH ); return p; default: - if (!isspace(*p)) token_end = p + 1; + if (!isspace((unsigned char)*p)) token_end = p + 1; else { push_token( parser, p ); @@ -685,7 +685,7 @@ static const CHAR *value_name_state( struct parser *parser, const CHAR *pos ) set_state( parser, EOL_BACKSLASH ); return p; default: - if (!isspace(*p)) token_end = p + 1; + if (!isspace((unsigned char)*p)) token_end = p + 1; else { push_token( parser, p ); @@ -730,7 +730,7 @@ static const CHAR *eol_backslash_state( struct parser *parser, const CHAR *pos ) return p + 1; default: - if (isspace(*p)) + if (isspace((unsigned char)*p)) continue; push_token( parser, p ); pop_state( parser ); @@ -787,7 +787,7 @@ static const CHAR *leading_spaces_state( struct parser *parser, const CHAR *pos set_state( parser, EOL_BACKSLASH ); return p; } - if (!isspace(*p)) + if (!isspace((unsigned char)*p)) break; } parser->start = p; @@ -808,7 +808,7 @@ static const CHAR *trailing_spaces_state( struct parser *parser, const CHAR *pos set_state( parser, EOL_BACKSLASH ); return p; } - if (!isspace(*p)) + if (!isspace((unsigned char)*p)) break; } pop_state( parser ); diff --git a/reactos/boot/freeldr/freeldr/version.c b/reactos/boot/freeldr/freeldr/version.c index 888c90a43c9..41c1c3018eb 100644 --- a/reactos/boot/freeldr/freeldr/version.c +++ b/reactos/boot/freeldr/freeldr/version.c @@ -23,14 +23,11 @@ CHAR FreeLoaderVersionString[80]; PCHAR GetFreeLoaderVersionString(VOID) { - if (FREELOADER_PATCH_VERSION == 0) - { - sprintf(FreeLoaderVersionString, "FreeLoader v%d.%d", FREELOADER_MAJOR_VERSION, FREELOADER_MINOR_VERSION); - } - else - { - sprintf(FreeLoaderVersionString, "FreeLoader v%d.%d.%d", FREELOADER_MAJOR_VERSION, FREELOADER_MINOR_VERSION, FREELOADER_PATCH_VERSION); - } +#if (FREELOADER_PATCH_VERSION == 0) + sprintf(FreeLoaderVersionString, "FreeLoader v%d.%d", FREELOADER_MAJOR_VERSION, FREELOADER_MINOR_VERSION); +#else + sprintf(FreeLoaderVersionString, "FreeLoader v%d.%d.%d", FREELOADER_MAJOR_VERSION, FREELOADER_MINOR_VERSION, FREELOADER_PATCH_VERSION); +#endif return FreeLoaderVersionString; } diff --git a/reactos/boot/freeldr/freeldr/windows/conversion.c b/reactos/boot/freeldr/freeldr/windows/conversion.c index 5c5452a5033..82e393a6dc1 100644 --- a/reactos/boot/freeldr/freeldr/windows/conversion.c +++ b/reactos/boot/freeldr/freeldr/windows/conversion.c @@ -45,7 +45,7 @@ PaToVa(PVOID Pa) #endif VOID -List_PaToVa(PLIST_ENTRY ListHeadPa) +List_PaToVa(_In_ PLIST_ENTRY ListHeadPa) { PLIST_ENTRY EntryPa, NextPa;