提交 b365b3da 编写于 作者: C Chuck Ebbert 提交者: Greg Kroah-Hartman

[PATCH] kobject: don't oops on null kobject.name

kobject_get_path() will oops if one of the component names is
NULL.  Fix that by returning NULL instead of oopsing.
Signed-off-by: NChuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 c171fef5
...@@ -72,6 +72,8 @@ static int get_kobj_path_length(struct kobject *kobj) ...@@ -72,6 +72,8 @@ static int get_kobj_path_length(struct kobject *kobj)
* Add 1 to strlen for leading '/' of each level. * Add 1 to strlen for leading '/' of each level.
*/ */
do { do {
if (kobject_name(parent) == NULL)
return 0;
length += strlen(kobject_name(parent)) + 1; length += strlen(kobject_name(parent)) + 1;
parent = parent->parent; parent = parent->parent;
} while (parent); } while (parent);
...@@ -107,6 +109,8 @@ char *kobject_get_path(struct kobject *kobj, gfp_t gfp_mask) ...@@ -107,6 +109,8 @@ char *kobject_get_path(struct kobject *kobj, gfp_t gfp_mask)
int len; int len;
len = get_kobj_path_length(kobj); len = get_kobj_path_length(kobj);
if (len == 0)
return NULL;
path = kmalloc(len, gfp_mask); path = kmalloc(len, gfp_mask);
if (!path) if (!path)
return NULL; return NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册