From 7a692fb597627b3c8ea57c17c626a2980cd8aef4 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sun, 26 Nov 2006 13:37:50 +0000 Subject: [PATCH] Dmitry G. Gorbachev: Fix possible buffer overflow in FreeLdr See issue #1881 for more details. svn path=/trunk/; revision=24837 --- reactos/boot/freeldr/freeldr/bootmgr.c | 6 +-- reactos/boot/freeldr/freeldr/drivemap.c | 2 +- reactos/boot/freeldr/freeldr/linuxboot.c | 8 +-- reactos/boot/freeldr/freeldr/miscboot.c | 8 +-- reactos/boot/freeldr/freeldr/oslist.c | 4 +- .../boot/freeldr/freeldr/reactos/reactos.c | 6 +-- reactos/boot/freeldr/freeldr/ui/ui.c | 52 +++++++++---------- 7 files changed, 43 insertions(+), 43 deletions(-) diff --git a/reactos/boot/freeldr/freeldr/bootmgr.c b/reactos/boot/freeldr/freeldr/bootmgr.c index 470c6775859..43b1ef6c18b 100644 --- a/reactos/boot/freeldr/freeldr/bootmgr.c +++ b/reactos/boot/freeldr/freeldr/bootmgr.c @@ -111,7 +111,7 @@ NoGui: } // Try to read the boot type - if (!IniReadSettingByName(SectionId, "BootType", SettingValue, 80)) + if (!IniReadSettingByName(SectionId, "BootType", SettingValue, sizeof(SettingValue))) { sprintf(SettingName, "BootType= line not found in section [%s] in freeldr.ini.\n", OperatingSystemSectionNames[SelectedOperatingSystem]); UiMessageBox(SettingName); @@ -180,7 +180,7 @@ ULONG GetDefaultOperatingSystem(PCSTR OperatingSystemList[], ULONG OperatingSy DefaultOSName = CmdLineGetDefaultOS(); if (NULL == DefaultOSName) { - if (IniReadSettingByName(SectionId, "DefaultOS", DefaultOSText, 80)) + if (IniReadSettingByName(SectionId, "DefaultOS", DefaultOSText, sizeof(DefaultOSText))) { DefaultOSName = DefaultOSText; } @@ -218,7 +218,7 @@ LONG GetTimeOut(VOID) return -1; } - if (IniReadSettingByName(SectionId, "TimeOut", TimeOutText, 20)) + if (IniReadSettingByName(SectionId, "TimeOut", TimeOutText, sizeof(TimeOutText))) { TimeOut = atoi(TimeOutText); } diff --git a/reactos/boot/freeldr/freeldr/drivemap.c b/reactos/boot/freeldr/freeldr/drivemap.c index a10a5cc1e24..31ecab7a37b 100644 --- a/reactos/boot/freeldr/freeldr/drivemap.c +++ b/reactos/boot/freeldr/freeldr/drivemap.c @@ -54,7 +54,7 @@ VOID DriveMapMapDrivesInSection(PCSTR SectionName) for (Index=0; Index