From 05bb10a25b7dc0d20853928ec8fa0b924415563e Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Fri, 26 Dec 2003 20:07:46 +0000 Subject: [PATCH] Removed memory leak in pci_generic_bus_scan(). lib/generic.c: Removed memory leak in pci_generic_bus_scan(). Reported by Gary Parnes . git-archimport-id: mj@ucw.cz--public/pciutils--main--2.2--patch-5 --- ChangeLog | 3 +++ lib/generic.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3d769e7..8ef4414 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2003-12-26 Martin Mares + * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). + Reported by Gary Parnes . + * Replaced obsolete syntax of __attribute__((unused)) in the middle of parameter declarations (which is no longer supported by GCC 3.1) by the current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com diff --git a/lib/generic.c b/lib/generic.c index 79e1eee..d4f2600 100644 --- a/lib/generic.c +++ b/lib/generic.c @@ -14,7 +14,7 @@ void pci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus) { int dev, multi, ht; - struct pci_dev *t = pci_alloc_dev(a); + struct pci_dev *t; a->debug("Scanning bus %02x for devices...\n", bus); if (busmap[bus]) @@ -23,6 +23,7 @@ pci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus) return; } busmap[bus] = 1; + t = pci_alloc_dev(a); t->bus = bus; for(dev=0; dev<32; dev++) { @@ -61,6 +62,7 @@ pci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus) } } } + pci_free_dev(t); } void -- 2.39.2