forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/media/i2c/preisp-dummy.c
....@@ -287,7 +287,10 @@
287287
288288 ret = pisp_dmy_ioctl(sd, cmd, inf);
289289 if (!ret)
290
- ret = copy_to_user(up, inf, sizeof(*inf));
290
+ if (copy_to_user(up, inf, sizeof(*inf))) {
291
+ kfree(inf);
292
+ return -EFAULT;
293
+ }
291294 kfree(inf);
292295 break;
293296 case RKMODULE_AWB_CFG:
....@@ -297,9 +300,12 @@
297300 return ret;
298301 }
299302
300
- ret = copy_from_user(cfg, up, sizeof(*cfg));
301
- if (!ret)
302
- ret = pisp_dmy_ioctl(sd, cmd, cfg);
303
+ if (copy_from_user(cfg, up, sizeof(*cfg))) {
304
+ kfree(cfg);
305
+ return -EFAULT;
306
+ }
307
+
308
+ ret = pisp_dmy_ioctl(sd, cmd, cfg);
303309 kfree(cfg);
304310 break;
305311 default: