]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
kmod_module_get_module: safety against NULL pointers
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>
Sun, 4 Dec 2011 15:14:11 +0000 (13:14 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Sun, 4 Dec 2011 19:24:08 +0000 (17:24 -0200)
libkmod/libkmod-module.c
libkmod/libkmod.h

index 9c679cbb527304d97f7ba86b515fa7b1662d136c..8bc644f71110b9aefbc3b48db5f2451184e55504 100644 (file)
@@ -270,10 +270,11 @@ KMOD_EXPORT struct kmod_list *kmod_module_get_dependency(const struct kmod_modul
        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)
index d7687bef72d8a4a3839e5a7a272b4243d85de10c..fca4107303bd7d567e531a75983310bed0247483 100644 (file)
@@ -108,7 +108,7 @@ int kmod_module_new_from_lookup(struct kmod_ctx *ctx, const char *alias,
 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);