diff options
author | Olivier Blin <oblin@mandriva.com> | 2008-02-28 16:53:00 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2008-02-28 16:53:00 +0000 |
commit | e1027f76bddd3f42e83db17f958f419caf840d8f (patch) | |
tree | 01406cf8ef9d8bf371ca02b6afc1c0e4c1002709 /pciusb.c | |
parent | 5b3e8377d1946f8c2ec92dbfa0bb4ab055524072 (diff) | |
download | ldetect-e1027f76bddd3f42e83db17f958f419caf840d8f.tar ldetect-e1027f76bddd3f42e83db17f958f419caf840d8f.tar.gz ldetect-e1027f76bddd3f42e83db17f958f419caf840d8f.tar.bz2 ldetect-e1027f76bddd3f42e83db17f958f419caf840d8f.tar.xz ldetect-e1027f76bddd3f42e83db17f958f419caf840d8f.zip |
do not free aliasfilename that early (really use modules.alias file from kernel or ldetect-lst)
Diffstat (limited to 'pciusb.c')
-rw-r--r-- | pciusb.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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) { |