From: Lucas De Marchi Date: Tue, 6 Dec 2011 04:46:22 +0000 (-0200) Subject: kmod_module: normalize module name X-Git-Tag: v1~91 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f2bb7cdd4c0b77f09f6f79b2c92683fdcdfa163;p=thirdparty%2Fkmod.git kmod_module: normalize module name --- diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 152d8f64..9c8a627a 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -137,20 +137,21 @@ KMOD_EXPORT int kmod_module_new_from_name(struct kmod_ctx *ctx, { struct kmod_module *m; size_t namelen; + char name_norm[NAME_MAX]; if (ctx == NULL || name == NULL) return -ENOENT; - namelen = strlen(name) + 1; + path_to_modname(name, name_norm, &namelen); - m = calloc(1, sizeof(*m) + namelen); + m = calloc(1, sizeof(*m) + namelen + 1); if (m == NULL) { free(m); return -ENOMEM; } m->ctx = kmod_ref(ctx); - memcpy(m->name, name, namelen); + memcpy(m->name, name_norm, namelen + 1); m->refcount = 1; *mod = m;