w1: validate slave string length before checking separator

w1_atoreg_num() checks buf[2] for the family/id separator before proving
the input contains that byte.

Require at least the family and separator prefix before checking the
separator.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/2026063007047999.4-ccfa108-0039-w1-validate-slave-string-le-pengpeng@iscas.ac.cn
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
Pengpeng Hou 2026-06-30 14:57:38 +08:00 committed by Krzysztof Kozlowski
parent 169ae5e65e
commit 73f46553fd

View File

@ -403,6 +403,11 @@ static int w1_atoreg_num(struct device *dev, const char *buf, size_t count,
const char *error_msg = "bad slave string format, expecting "
"ff-dddddddddddd\n";
if (count < 3) {
dev_err(dev, "%s", error_msg);
return -EINVAL;
}
if (buf[2] != '-') {
dev_err(dev, "%s", error_msg);
return -EINVAL;