kmod_module_get_module: safety against NULL pointers
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
index 9c679cb..8bc644f 100644
--- a/libkmod/libkmod-module.c
+++ b/libkmod/libkmod-module.c
@@ -270,10 +270,11 @@
return mod->dep;
}
-KMOD_EXPORT struct kmod_module *kmod_module_get_module(const struct kmod_list *l)
+KMOD_EXPORT struct kmod_module *kmod_module_get_module(const struct kmod_list *entry)
{
- struct kmod_module *mod = l->data;
- return kmod_module_ref(mod);
+ if (entry == NULL)
+ return NULL;
+ return kmod_module_ref(entry->data);
}
KMOD_EXPORT const char *kmod_module_get_name(const struct kmod_module *mod)
diff --git a/libkmod/libkmod.h b/libkmod/libkmod.h
index d7687be..fca4107 100644
--- a/libkmod/libkmod.h
+++ b/libkmod/libkmod.h
@@ -108,7 +108,7 @@
struct kmod_module *kmod_module_ref(struct kmod_module *mod);
struct kmod_module *kmod_module_unref(struct kmod_module *mod);
int kmod_module_unref_list(struct kmod_list *list);
-struct kmod_module *kmod_module_get_module(const struct kmod_list *l);
+struct kmod_module *kmod_module_get_module(const struct kmod_list *entry);
struct kmod_list *kmod_module_get_dependency(const struct kmod_module *mod);
int kmod_module_remove_module(struct kmod_module *mod, unsigned int flags);