Index: trunk/Chameleon.xcodeproj/project.pbxproj =================================================================== --- trunk/Chameleon.xcodeproj/project.pbxproj (revision 2038) +++ trunk/Chameleon.xcodeproj/project.pbxproj (revision 2039) @@ -1120,6 +1120,23 @@ AB1DE71A15B6E2D00088E06B /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; AB1DE71B15B6E2D00088E06B /* Sata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Sata.c; sourceTree = ""; }; AB47D38A15B702F00083D898 /* org.chameleon.Boot.nvidia.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = org.chameleon.Boot.nvidia.plist; sourceTree = ""; }; + AB4DDA8D15CEFF2100E77157 /* acpi_codec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpi_codec.c; sourceTree = ""; }; + AB4DDA8E15CEFF2100E77157 /* acpi_tools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpi_tools.c; sourceTree = ""; }; + AB4DDA8F15CEFF2100E77157 /* acpicode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpicode.c; sourceTree = ""; }; + AB4DDA9015CEFF2100E77157 /* ACPICodec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ACPICodec.c; sourceTree = ""; }; + AB4DDA9115CEFF2100E77157 /* acpidecode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpidecode.c; sourceTree = ""; }; + AB4DDA9215CEFF2100E77157 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = ""; }; + AB4DDA9415CEFF2100E77157 /* acpi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi.h; sourceTree = ""; }; + AB4DDA9515CEFF2100E77157 /* acpi_codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi_codec.h; sourceTree = ""; }; + AB4DDA9615CEFF2100E77157 /* acpi_tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi_tools.h; sourceTree = ""; }; + AB4DDA9715CEFF2100E77157 /* acpicode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpicode.h; sourceTree = ""; }; + AB4DDA9815CEFF2100E77157 /* acpidecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpidecode.h; sourceTree = ""; }; + AB4DDA9915CEFF2100E77157 /* datatype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = datatype.h; sourceTree = ""; }; + AB4DDA9A15CEFF2100E77157 /* intel_acpi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intel_acpi.h; sourceTree = ""; }; + AB4DDA9B15CEFF2100E77157 /* ppm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppm.h; sourceTree = ""; }; + AB4DDA9C15CEFF2100E77157 /* ppmsetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppmsetup.h; sourceTree = ""; }; + AB4DDA9D15CEFF2100E77157 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; + AB4DDA9E15CEFF2100E77157 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = ""; }; ABE4A59C15B6EA73007812A6 /* nvidia_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nvidia_helper.h; sourceTree = ""; }; ABE4A59D15B6EA73007812A6 /* nvidia_helper.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nvidia_helper.c; sourceTree = ""; }; B0056CE711F3868000754B65 /* boot0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot0.s; sourceTree = ""; }; @@ -2682,6 +2699,7 @@ A3561CAB1414024C00E9B51E /* modules */ = { isa = PBXGroup; children = ( + AB4DDA8C15CEFF2100E77157 /* AcpiCodec */, A3561CAC1414024C00E9B51E /* Cconfig */, A3561CAD1414024C00E9B51E /* HelloWorld */, A3561CB21414024C00E9B51E /* include */, @@ -3068,6 +3086,38 @@ path = include; sourceTree = ""; }; + AB4DDA8C15CEFF2100E77157 /* AcpiCodec */ = { + isa = PBXGroup; + children = ( + AB4DDA8D15CEFF2100E77157 /* acpi_codec.c */, + AB4DDA8E15CEFF2100E77157 /* acpi_tools.c */, + AB4DDA8F15CEFF2100E77157 /* acpicode.c */, + AB4DDA9015CEFF2100E77157 /* ACPICodec.c */, + AB4DDA9115CEFF2100E77157 /* acpidecode.c */, + AB4DDA9215CEFF2100E77157 /* Cconfig */, + AB4DDA9315CEFF2100E77157 /* include */, + AB4DDA9D15CEFF2100E77157 /* Makefile */, + AB4DDA9E15CEFF2100E77157 /* Readme.txt */, + ); + path = AcpiCodec; + sourceTree = ""; + }; + AB4DDA9315CEFF2100E77157 /* include */ = { + isa = PBXGroup; + children = ( + AB4DDA9415CEFF2100E77157 /* acpi.h */, + AB4DDA9515CEFF2100E77157 /* acpi_codec.h */, + AB4DDA9615CEFF2100E77157 /* acpi_tools.h */, + AB4DDA9715CEFF2100E77157 /* acpicode.h */, + AB4DDA9815CEFF2100E77157 /* acpidecode.h */, + AB4DDA9915CEFF2100E77157 /* datatype.h */, + AB4DDA9A15CEFF2100E77157 /* intel_acpi.h */, + AB4DDA9B15CEFF2100E77157 /* ppm.h */, + AB4DDA9C15CEFF2100E77157 /* ppmsetup.h */, + ); + path = include; + sourceTree = ""; + }; B0056CE511F3868000754B65 /* i386 */ = { isa = PBXGroup; children = ( Index: trunk/i386/libsaio/bootstruct.h =================================================================== --- trunk/i386/libsaio/bootstruct.h (revision 2038) +++ trunk/i386/libsaio/bootstruct.h (revision 2039) @@ -52,11 +52,6 @@ #define CONFIG_SIZE (40 * 4096) -/* - * Max size for config data array, in bytes. - */ -#define IO_CONFIG_DATA_SIZE 163840 - #define kMemoryMapCountMax 40 /* Index: trunk/i386/libsaio/smbios.c =================================================================== --- trunk/i386/libsaio/smbios.c (revision 2038) +++ trunk/i386/libsaio/smbios.c (revision 2039) @@ -389,14 +389,19 @@ current = structHeader->handle; } - sprintf(key, "%s%d", keyString, idx); - - if (value) - if (getIntForKey(key, (int *)&(value->dword), SMBPlist)) - return true; - else - if (getValueForKey(key, string, &len, SMBPlist)) - return true; + sprintf(key, "%s%d", keyString, idx); + + if (value) + { + if (getIntForKey(key, (int *)&(value->dword), SMBPlist)) + return true; + } + else + { + if (getValueForKey(key, string, &len, SMBPlist)) + return true; + } + return false; } Index: trunk/i386/libsaio/saio_types.h =================================================================== --- trunk/i386/libsaio/saio_types.h (revision 2038) +++ trunk/i386/libsaio/saio_types.h (revision 2039) @@ -63,8 +63,13 @@ }; typedef struct Tag Tag, *TagPtr; +/* + * Max size fo config data array, in bytes. + */ +#define IO_CONFIG_DATA_SIZE 40960 // was 4096 // was 163840 + typedef struct { - char plist[16384]; // buffer for plist + char plist[IO_CONFIG_DATA_SIZE]; // buffer for plist TagPtr dictionary; // buffer for xml dictionary bool canOverride; // flag to mark a dictionary can be overriden } config_file_t; Index: trunk/CHANGES =================================================================== --- trunk/CHANGES (revision 2038) +++ trunk/CHANGES (revision 2039) @@ -1,3 +1,4 @@ +- cparm : Fixed a buffer overflow in the plist loader - cparm : Ported the nvidia plist helper (less time to spend on the device id more time to code :-) ) - cparm : Added a Sata module, known as YellowIconFixer in my branch, useful to fix yellow icon issue (can also fix an issue with the apple's dvd player application in moutain lion) , for now not added in the pkg script !!!