Skip to contentSkip to conversation

ahci malloc corruption

PATCH New Ed Swarthout 1 participant 1 message Jul 25, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ahci malloc corruption

Fix malloc size error in ahci_init_one. Typically this causes scsi init to corrupt the devlist and break the coninfo command. Fix a compiler size warning.

---
 drivers/ahci.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
drivers/ahci.c +4 -3
index 8ceff00..3d82c62 100644
@@ -253,13 +253,14 @@ static void ahci_print_info(struct ahci_probe_ent *probe_ent)
 
 static int ahci_init_one(pci_dev_t pdev)
 {
-	u32 iobase, vendor;
+	u32 iobase;
+	u16 vendor;
 	int rc;
 
 	memset((void *)ataid, 0, sizeof(hd_driveid_t *) * AHCI_MAX_PORTS);
 
-	probe_ent = malloc(sizeof(probe_ent));
-	memset(probe_ent, 0, sizeof(probe_ent));
+	probe_ent = malloc(sizeof(struct ahci_probe_ent));
+	memset(probe_ent, 0, sizeof(struct ahci_probe_ent));
 	probe_ent->dev = pdev;
 
 	pci_read_config_dword(pdev, AHCI_PCI_BAR, &iobase);
Signature · 1 line
1.5.3.rc1.13.g08e38