summaryrefslogtreecommitdiffhomepage
path: root/modutils/depmod.c
diff options
context:
space:
mode:
Diffstat (limited to 'modutils/depmod.c')
-rw-r--r--modutils/depmod.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/modutils/depmod.c b/modutils/depmod.c
index 903b073f8..489a0330e 100644
--- a/modutils/depmod.c
+++ b/modutils/depmod.c
@@ -21,7 +21,7 @@ struct globals {
static int fill_lst(const char *modulename, struct stat ATTRIBUTE_UNUSED *sb,
void ATTRIBUTE_UNUSED *data, int ATTRIBUTE_UNUSED depth)
{
- llist_add_to_end(&G.lst, strdup(modulename));
+ llist_add_to(&G.lst, strdup(modulename));
return TRUE;
}
@@ -35,7 +35,6 @@ static int fileAction(const char *fname, struct stat ATTRIBUTE_UNUSED *sb,
RESERVE_CONFIG_BUFFER(depends, 512);
RESERVE_CONFIG_BUFFER(buf1, 512);
- memset(buf1, 0, sizeof(buf1));
memset(depends, 0, sizeof(depends));
if (last_char_is(fname, 'o') == NULL) /* not a module */
@@ -55,7 +54,7 @@ static int fileAction(const char *fname, struct stat ATTRIBUTE_UNUSED *sb,
deps = depends;
while (*deps) {
llist_t * _lst = G.lst;
- ptr = memchr(deps, ',', strlen(deps));
+ ptr = strchr(deps, ',');
if (ptr != NULL)
*(char*)ptr = '\0';
/* remember the length of the current dependency plus eventual 0 byte */
@@ -105,7 +104,9 @@ int depmod_main(int ATTRIBUTE_UNUSED argc, char **argv)
}
} while (*++argv);
- if (ENABLE_FEATURE_CLEAN_UP)
+ if (ENABLE_FEATURE_CLEAN_UP) {
fclose(filedes);
+ llist_free(G.lst, free);
+ }
return retval;
}