[PATCH v1] drivers/base/auxiliary: check return value of strrchr()

From: Li Zhong
Date: Sat Sep 03 2022 - 02:25:50 EST


From: Li Zhong <floridsleeves@xxxxxxxxx>

The return value of strrchr() could be NULL, which will cause invalid
offset in (int)(p - name). So we check it here.

Signed-off-by: Li Zhong <floridsleeves@xxxxxxxxx>
---
drivers/base/auxiliary.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/base/auxiliary.c b/drivers/base/auxiliary.c
index 8c5e65930617..7ac23be47e1f 100644
--- a/drivers/base/auxiliary.c
+++ b/drivers/base/auxiliary.c
@@ -191,7 +191,8 @@ static int auxiliary_uevent(struct device *dev,
struct kobj_uevent_env *env)

name = dev_name(dev);
p = strrchr(name, '.');
-
+ if (!p)
+ return -EINVAL;
return add_uevent_var(env, "MODALIAS=%s%.*s", AUXILIARY_MODULE_PREFIX,
(int)(p - name), name);
}
--
2.25.1