From 4f2bb7cdd4c0b77f09f6f79b2c92683fdcdfa163 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Tue, 6 Dec 2011 02:46:22 -0200 Subject: [PATCH] kmod_module: normalize module name --- libkmod/libkmod-module.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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; -- 2.47.2