mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
media: cec-core: fix a bug at cec_error_inj_write()
If the adapter doesn't have error_inj_parse_line() ops, the write() logic won't return -EINVAL, but, instead, it will keep looping, because "count" is a non-negative number. Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
@@ -209,14 +209,14 @@ static ssize_t cec_error_inj_write(struct file *file,
|
||||
if (IS_ERR(buf))
|
||||
return PTR_ERR(buf);
|
||||
p = buf;
|
||||
while (p && *p && count >= 0) {
|
||||
while (p && *p) {
|
||||
p = skip_spaces(p);
|
||||
line = strsep(&p, "\n");
|
||||
if (!*line || *line == '#')
|
||||
continue;
|
||||
if (!adap->ops->error_inj_parse_line(adap, line)) {
|
||||
count = -EINVAL;
|
||||
break;
|
||||
kfree(buf);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
kfree(buf);
|
||||
|
||||
Reference in New Issue
Block a user