mirror of https://github.com/OpenIPC/firmware.git
25 lines
558 B
Diff
25 lines
558 B
Diff
--- linux-4.9.37/drivers/i2c/i2c-dev.c 2017-07-12 16:42:41.000000000 +0300
|
|
+++ linux-4.9.y/drivers/i2c/i2c-dev.c 2021-06-07 13:01:33.000000000 +0300
|
|
@@ -170,6 +170,9 @@
|
|
if (count > 8192)
|
|
count = 8192;
|
|
|
|
+ if (count == 0)
|
|
+ return -EINVAL;
|
|
+
|
|
tmp = memdup_user(buf, count);
|
|
if (IS_ERR(tmp))
|
|
return PTR_ERR(tmp);
|
|
@@ -273,6 +276,11 @@
|
|
res = -EINVAL;
|
|
break;
|
|
}
|
|
+
|
|
+ if (rdwr_pa[i].len == 0) {
|
|
+ res = -EINVAL;
|
|
+ break;
|
|
+ }
|
|
|
|
data_ptrs[i] = (u8 __user *)rdwr_pa[i].buf;
|
|
rdwr_pa[i].buf = memdup_user(data_ptrs[i], rdwr_pa[i].len);
|