From 573b25ecd34dd69ee14c58f752bffdb5709654b9 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Wed, 8 Feb 2012 22:08:08 -0800 Subject: [PATCH] Close pci.ids file when bailing out because realloc failed Error: File Leak Leaked File f at line 272 of src/common_device_name.c in function 'populate_vendor'. f initialized at line 204 with fopen("/usr/share/hwdata/pci.ids", "r"). [ This bug was found by the Parfait 0.5.0 bug checking tool. For more information see http://labs.oracle.com/projects/parfait/ ] Signed-off-by: Alan Coopersmith --- src/common_device_name.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common_device_name.c b/src/common_device_name.c index 8e8a752..8feaf69 100644 --- a/src/common_device_name.c +++ b/src/common_device_name.c @@ -269,7 +269,7 @@ populate_vendor( struct pci_id_leaf * vend, int fill_device_data ) d = realloc( vend->devices, (vend->num_devices + 1) * sizeof( struct pci_device_leaf ) ); if ( d == NULL ) { - return; + goto cleanup; } last_dev = & d[ vend->num_devices - 1 ]; @@ -302,6 +302,7 @@ populate_vendor( struct pci_id_leaf * vend, int fill_device_data ) } } + cleanup: pci_id_file_close( f ); } -- 2.7.4