From e1027f76bddd3f42e83db17f958f419caf840d8f Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Thu, 28 Feb 2008 16:53:00 +0000 Subject: do not free aliasfilename that early (really use modules.alias file from kernel or ldetect-lst) --- pciusb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pciusb.c b/pciusb.c index 073cbf9..7936eb6 100644 --- a/pciusb.c +++ b/pciusb.c @@ -24,6 +24,8 @@ static void set_default_alias_file(void) { uname(&rel_buf); asprintf(&dirname, "%s/%s", MODULE_DIR, rel_buf.release); asprintf(&aliasfilename, "%s/modules.alias", dirname); + free(dirname); + /* fallback on ldetect-lst's modules.alias and prefer it if more recent */ if (stat(aliasfilename, &st_alias) || (!stat(fallback_aliases, &st_fallback) && st_fallback.st_mtime > st_alias.st_mtime)) { @@ -31,8 +33,6 @@ static void set_default_alias_file(void) { } else { aliasdefault = aliasfilename; } - free(aliasfilename); - free(dirname); } } @@ -155,6 +155,8 @@ static void find_modules_through_aliases(const char *bus, struct pciusb_entries continue; find_modules_through_aliases_one(bus, e); } + + ifree(aliasdefault); } extern int pciusb_find_modules(struct pciusb_entries *entries, const char *fpciusbtable, const descr_lookup descr_lookup, int is_pci) { -- cgit v1.2.1