summaryrefslogtreecommitdiffstats
path: root/pciusb.c
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-02-28 16:53:00 +0000
committerOlivier Blin <oblin@mandriva.com>2008-02-28 16:53:00 +0000
commite1027f76bddd3f42e83db17f958f419caf840d8f (patch)
tree01406cf8ef9d8bf371ca02b6afc1c0e4c1002709 /pciusb.c
parent5b3e8377d1946f8c2ec92dbfa0bb4ab055524072 (diff)
downloadldetect-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.c6
1 files 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) {