Do not write past the end of buffer.

svn path=/trunk/; revision=54028
This commit is contained in:
Dmitry Gorbachev 2011-10-06 19:59:20 +00:00
parent 59730dc09c
commit 9fc97e9f95

View file

@ -736,9 +736,9 @@ HalpDebugPciDumpBus(IN ULONG i,
VendorName += 7;
p = strchr(VendorName, '\r');
Length = p - VendorName;
if (Length > sizeof(bVendorName)) Length = sizeof(bVendorName);
if (Length >= sizeof(bVendorName)) Length = sizeof(bVendorName) - 1;
strncpy(bVendorName, VendorName, Length);
bVendorName[Length ] = '\0';
bVendorName[Length] = '\0';
/* Isolate the product name */
sprintf(LookupString, "\t%04x", PciData->DeviceID);
@ -749,7 +749,7 @@ HalpDebugPciDumpBus(IN ULONG i,
ProductName += 7;
p = strchr(ProductName, '\r');
Length = p - ProductName;
if (Length > sizeof(bProductName)) Length = sizeof(bProductName);
if (Length >= sizeof(bProductName)) Length = sizeof(bProductName) - 1;
strncpy(bProductName, ProductName, Length);
bProductName[Length] = '\0';
@ -765,7 +765,7 @@ HalpDebugPciDumpBus(IN ULONG i,
SubVendorName += 13;
p = strchr(SubVendorName, '\r');
Length = p - SubVendorName;
if (Length > sizeof(bSubVendorName)) Length = sizeof(bSubVendorName);
if (Length >= sizeof(bSubVendorName)) Length = sizeof(bSubVendorName) - 1;
strncpy(bSubVendorName, SubVendorName, Length);
bSubVendorName[Length] = '\0';
}
@ -801,7 +801,7 @@ HalpDebugPciDumpBus(IN ULONG i,
PciData->u.type0.InterruptLine != 0 &&
PciData->u.type0.InterruptLine != 0xFF) DbgPrint(", IRQ %02d", PciData->u.type0.InterruptLine);
DbgPrint("\n");
/* Scan addresses */
Size = 0;
for (b = 0; b < PCI_TYPE0_ADDRESSES; b++)
@ -926,7 +926,7 @@ HalpInitializePciBus(VOID)
{
/* Get the bus handler */
BusHandler = HalHandlerForBus(PCIBus, i);
/* Loop every device */
for (j = 0; j < 32; j++)
{